IwojCUxpc3Qgb2YgWm9ycm8gSURzCiMKIwlNYWludGFpbmVkIGJ5IEdlZXJ0IFV5dHRlcmhvZXZlbiA8em9ycm9AbGludXgtbTY4ay5vcmc+CiMJSWYgeW91IGhhdmUgYW55IG5ldyBlbnRyaWVzLCBwbGVhc2Ugc2VuZCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLgojCiMJJElkOiB6b3Jyby5pZHMsdiAxLjE5IDIwMDIvMTAvMTQgMTM6MDg6NTggZ2VlcnQgRXhwICQKIwoKIyBNYW51ZmFjdHVyZXJzIGFuZCBQcm9kdWN0cy4gUGxlYXNlIGtlZXAgc29ydGVkLgoKIyBTeW50YXg6CiMgbWFudWZhY3R1cmVyICBtYW51ZmFjdHVyZXJfbmFtZQojCXByb2R1Y3QgIHByb2R1Y3RfbmFtZQkJCQk8LS0gc2luZ2xlIHRhYgoKMDBkMyAgUGFjaWZpYyBQZXJpcGhlcmFscwoJMDAwMCAgU0UgMjAwMCBBNTAwIFtIRCBDb250cm9sbGVyXQoJMGEwMCAgW1NDU0kgSG9zdCBBZGFwdGVyXQowMGRkICBLdXBrZQoJMDAwMCAgR29sZW0gUkFNIEJveCAyTUIgW1JBTSBFeHBhbnNpb25dCjAxMDAgIE1hY3JvU3lzdGVtcyBVU0EKIyBUaGUgU3Rvcm1icmluZ2VyIGlzIGFjdHVhbGx5IG1hZGUgYnkgTWVtcGhpcwoJMDAwMCAgU3Rvcm1icmluZ2VyIFtBY2NlbGVyYXRvcl0KCTEzMDAgIFdhcnAgRW5naW5lIFtBY2NlbGVyYXRvciwgU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCjAyMDAgIDMtU3RhdGUKCTAyMDAgIE1lZ2FtaXggMjAwMCBbUkFNIEV4cGFuc2lvbl0KMDIwMSAgQ29tbW9kb3JlIEJyYXVuc2Nod2VpZwoJMDEwMCAgQTIwODggWFQvQTIyODYgQVQgW0lTQSBCdXMgQnJpZGdlXQoJMDIwMCAgQTIyODYgQVQgW0lTQSBCdXMgQnJpZGdlXQoJNTQwMCAgQTQwOTEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJNjcwMCAgQTIzODYtU1ggW0lTQSBCdXMgQnJpZGdlXQowMjAyICBDb21tb2RvcmUgV2VzdCBDaGVzdGVyCgkwMTAwICBBMjA5MC9BMjA5MEEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgQTU5MC9BMjA5MSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwMzAwICBBNTkwL0EyMDkxIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA0MDAgIEEyMDkwQiAyMDkwIEF1dG9ib290IFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA5MDAgIEEyMDYwIFtBcmNOZXQgQ2FyZF0KCTBhMDAgIEE1OTAvQTIwNTIvQTIwNTgvQTIwOTEgW1JBTSBFeHBhbnNpb25dCgkyMDAwICBBNTYwIFtSQU0gRXhwYW5zaW9uXQoJNDUwMCAgQTIyMzIgUHJvdG90eXBlIFtNdWx0aSBJL09dCgk0NjAwICBBMjIzMiBbTXVsdGkgSS9PXQoJNTAwMCAgQTI2MjAgNjgwMjAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJNTEwMCAgQTI2MzAgNjgwMzAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJNTQwMCAgQTQwOTEgW1NDU0kgSG9zdCBBZGFwdGVyXQoJNWEwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCgk2MDAwICBSb211bGF0b3IgQ2FyZAoJNjEwMCAgQTMwMDAgVGVzdCBGaXh0dXJlIFtNaXNjZWxsYW5lb3VzIEV4cGFuc2lvbiBDYXJkXQoJNjcwMCAgQTIzODYtU1ggW0lTQSBCdXMgQnJpZGdlXQoJNzAwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCjAyMDMgIENvbW1vZG9yZSBXZXN0IENoZXN0ZXIKCTAzMDAgIEEyMDkwL0EyMDkwQSBDb21iaXRlYy9NYWNyb1N5c3RlbSBbU0NTSSBIb3N0IEFkYXB0ZXJdCjAyZjQgIFByb2dyZXNzaXZlIFBlcmlwaGVyYWxzICYgU3lzdGVtcwoJMDIwMCAgRVhQODAwMCBbUkFNIEV4cGFuc2lvbl0KCTY5MDAgIEEyMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTk2MDAgIDY4MDQwIFtBY2NlbGVyYXRvcl0KMDJmZiAgS29sZmYgQ29tcHV0ZXIgU3VwcGxpZXMKCTAwMDAgIEtDUyBQb3dlciBQQyBbSVNBIEJ1cyBCcmlkZ2VdCjAzZWMgIENhcmRjbyBMdGQuCgkwNDAwICBLcm9ub3MgMjAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYzAwICBBMTAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwZTAwICBFc2NvcnQgW1NDU0kgSG9zdCBBZGFwdGVyXQoJZjUwMCAgQTI0MTAgSGlSZXMgW0dyYXBoaWNzIENhcmRdCjAzZWQgIEEtU3F1YXJlZAoJMDEwMCAgTGl2ZSEgMjAwMCBbVmlkZW8gQ2FyZF0KMDNlZSAgQ29tc3BlYyBDb21tdW5pY2F0aW9ucwoJMDEwMCAgQVgyMDAwIFtSQU0gRXhwYW5zaW9uXQowM2YxICBBbmFraW4gUmVzZWFyY2gKCTAxMDAgIEVhc3lsIERyYXdpbmcgVGFibGV0IEludGVyZmFjZQowM2YyICBNaWNyb2JvdGljcwoJMDAwMCAgU3RhckJvYXJkIElJIFtSQU0gRXhwYW5zaW9uXQoJMDIwMCAgU3RhckRyaXZlIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAzMDAgIDgtVXAgKFJldiBBKSBbUkFNIEV4cGFuc2lvbl0KCTA0MDAgIDgtVXAgKFJldiBaKSBbUkFNIEV4cGFuc2lvbl0KCTIwMDAgIERlbHRhIFtSQU0gRXhwYW5zaW9uXQoJNDAwMCAgOC1TdGFyIFtSQU0gRXhwYW5zaW9uXQoJNDEwMCAgOC1TdGFyIFtNaXNjZWxsYW5lb3VzIEV4cGFuc2lvbiBDYXJkXQoJNDQwMCAgVlhMIFJBTSozMiBbUkFNIEV4cGFuc2lvbl0KCTQ1MDAgIFZYTC0zMCBbQWNjZWxlcmF0b3JdCgk2MDAwICBEZWx0YSBbTWlzY2VsbGFuZW91cyBFeHBhbnNpb24gQ2FyZF0KCTgxMDAgIE1CWCAxMjAwLzEyMDB6IFtSQU0gRXhwYW5zaW9uXQoJOTYwMCAgSGFyZGZyYW1lIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJOWUwMCAgSGFyZGZyYW1lIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJYzEwMCAgTUJYIDEyMDAvMTIwMHogW01pc2NlbGxhbmVvdXMgRXhwYW5zaW9uIENhcmRdCjAzZjQgIEFjY2VzcyBBc3NvY2lhdGVzIEFsZWdyYQowM2Y2ICBFeHBhbnNpb24gVGVjaG5vbG9naWVzL1BhY2lmaWMgQ3lwcmVzcwowM2ZmICBBU0RHCgkwMTAwICBbUkFNIEV4cGFuc2lvbl0KCTAyMDAgIFtSQU0gRXhwYW5zaW9uXQoJZmUwMCAgRUItOTIwIExhbiBSb3ZlciBbRXRoZXJuZXQgQ2FyZF0KCWZmMDAgIEdQSUIvRHVhbCBJRUVFLTQ4OC9Ud2luLVggW011bHRpIEkvT10KMDQwNCAgUm9uaW4vSW10cm9uaWNzCgkzOTAwICBIdXJyaWNhbmUgMjgwMCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCgk1NzAwICBIdXJyaWNhbmUgMjgwMCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCjA0MDYgIENvbW1vZG9yZS9Vbml2ZXJzaXR5IG9mIExvd2VsbAoJMDAwMCAgQTI0MTAgSGlSZXMgW0dyYXBoaWNzIENhcmRdCjA0MWQgIEFtZXJpc3RhcgoJMDEwMCAgQTIwNjUgW0V0aGVybmV0IENhcmRdCgkwOTAwICBBNTYwIFtBcmNOZXQgQ2FyZF0KCTBhMDAgIEE0MDY2IFtFdGhlcm5ldCBDYXJkXQoJMjAwMCAgMTYwMC1HWCBbR3JhcGhpY3MgQ2FyZF0KMDQyMCAgU3VwcmEKCTAxMDAgIFN1cHJhRHJpdmUgNHg0IFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAyMDAgIDEwMDAgW1JBTSBFeHBhbnNpb25dCgkwMzAwICAyMDAwIERNQSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwNTAwICA1MDAgW1NDU0kgSG9zdCBBZGFwdGVyIGFuZCBSQU0gRXhwYW5zaW9uXQoJMDgwMCAgNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA5MDAgIDUwMFhQLzIwMDAgW1JBTSBFeHBhbnNpb25dCgkwYTAwICA1MDBSWC8yMDAwIFtSQU0gRXhwYW5zaW9uXQoJMGIwMCAgMjQwMHppIFtNb2RlbV0KCTBjMDAgIDUwMFhQL1N1cHJhRHJpdmUgV29yZFN5bmMgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMGQwMCAgU3VwcmFEcml2ZSBXb3JkU3luYyBJSSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkxMDAwICAyNDAwemkrIFtNb2RlbV0KMDQyMiAgQ29tcHV0ZXIgU3lzdGVtcyBBc3Nvc2lhdGVzCgkxMTAwICBNYWdudW0gNDAgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTE1MDAgIDEyIEdhdWdlIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDQzOSAgTWFyYyBNaWNoYWVsIEdyb3RoCjA1MDIgIE0tVGVjaAoJMDMwMCAgQVQ1MDAgW1JBTSBFeHBhbnNpb25dCjA2ZTEgIEdyZWF0IFZhbGxleSBQcm9kdWN0cwoJMDgwMCAgSW1wYWN0IFNlcmllcyBJIFtTQ1NJIEhvc3QgQWRhcHRlciBhbmQgUkFNIEV4cGFuc2lvbl0KCTIwMDAgIEltcGFjdCBWaXNpb24gMjQgW0dyYXBoaWNzIENhcmRdCjA3ZGEgIEJ5dGVCb3gKCTAwMDAgIEE1MDAKMDdkYiAgSGFja2VyIFRlc3QgQm9hcmQKMDdkYyAgREtCL1Bvd2VyIENvbXB1dGluZwoJMDkwMCAgU2VjdXJlS2V5CgkwZTAwICBES00gMzEyOCBbUkFNIEV4cGFuc2lvbl0KCTBmMDAgIFJhcGlkIEZpcmUgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMTAwMCAgREtNIDEyMDIgW0ZQVSBhbmQgUkFNIEV4cGFuc2lvbl0KCTEyMDAgIENvYnJhL1ZpcGVyIElJIDY4RUMwMzAgW0FjY2VsZXJhdG9yXQoJMTcwMCAgV2lsZEZpcmUgMDYwIFtBY2NlbGVyYXRvcl0KCWZmMDAgIFdpbGRGaXJlIDA2MCBbQWNjZWxlcmF0b3JdCjA3ZTEgIEdyZWF0IFZhbGxleSBQcm9kdWN0cwoJMDEwMCAgSW1wYWN0IFNlcmllcyBJICg0SykgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgSW1wYWN0IFNlcmllcyBJICgxNksvMikgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDMwMCAgSW1wYWN0IFNlcmllcyBJICgxNksvMikgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDgwMCAgSW1wYWN0IDMwMDEgW0lERSBJbnRlcmZhY2VdCgkwOTAwICBJbXBhY3QgMzAwMSBbUkFNIEV4cGFuc2lvbl0KCTBhMDAgIEltcGFjdCBTZXJpZXMgSUkgW1JBTSBFeHBhbnNpb25dCgkwYjIwICBHRm9yY2UgMDQwIFtBY2NlbGVyYXRvcl0KCTBiMzAgIEdGb3JjZSAwNDAgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNDAgIEExMjkxIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNjAgIENvbWJvIDAzMCBSNCBbQWNjZWxlcmF0b3JdCgkwYjcwICBDb21ibyAwMzAgUjQgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KCTBiNzggIFBob25lIFBhawoJMGI5OCAgSU8tRXh0ZW5kZXIgW011bHRpIEkvT10KCTBiYTAgIEdGb3JjZSAwMzAgW0FjY2VsZXJhdG9yXQoJMGJiMCAgR0ZvcmNlIDAzMCBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJMGJjMCAgQTUzMCBbQWNjZWxlcmF0b3JdCgkwYmQwICBBNTMwIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYmUwICBDb21ibyAwMzAgUjMgW0FjY2VsZXJhdG9yXQoJMGJmMCAgQ29tYm8gMDMwIFIzIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYmY4ICBTZXJpZXMtSUkgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMGQwMCAgSW1wYWN0IDMwMDEgW0lERSBJbnRlcmZhY2VdCgkxNjAwICBHRm9yY2UgMDQwLzA2MCBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJMjAwMCAgSW1wYWN0IFZpc2lvbiAyNCBbR3JhcGhpY3MgQ2FyZF0KCTQ0MDAgIFJlbWJyYW5kdCBbR3JhcGhpY3MgQ2FyZF0KCWZmMDAgIEdGb3JjZSAwNDAgW0FjY2VsZXJhdG9yXQowN2U1ICBDYWxpZm9ybmlhIEFjY2Vzcy9TeW5lcmd5CgkwMTAwICBNYWxpYnUgW1NDU0kgSG9zdCBBZGFwdGVyXQowN2U2ICBYZXRlYwoJMDEwMCAgRmFzdENhcmQgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDIwMCAgRmFzdENhcmQgW1JBTSBFeHBhbnNpb25dCgkwMzAwICBGYXN0Q2FyZCBQbHVzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDdlYSAgUHJvZ3Jlc3NpdmUgUGVyaXBoZXJhbHMgJiBTeXN0ZW1zCgkwMDAwICBNZXJjdXJ5IFtBY2NlbGVyYXRvcl0KCTAxMDAgIEEzMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTY5MDAgIEEyMDAwIDY4MDQwIFtBY2NlbGVyYXRvcl0KCTk2MDAgIFpldXMgW0FjY2VsZXJhdG9yLCBTQ1NJIEhvc3QgQWRhcHRlciBhbmQgUkFNIEV4cGFuc2lvbl0KCWJiMDAgIEE1MDAgNjgwNDAgW0FjY2VsZXJhdG9yXQojIFRoZSBBdGVvQnVzIGFuZCBQaXhlbDY0IGFyZSBhY3R1YWxseSBtYWRlIGJ5IEF0ZW8gQ29uY2VwdHMKCWZjMDAgIEF0ZW9CdXMgW0V4cGFuc2lvbiBCdXMgQnJpZGdlXQoJZmUwMCAgUGl4ZWw2NCBbR3JhcGhpY3MgQ2FyZF0KCWZmMDAgIFBpeGVsNjQgUkFNIFtHcmFwaGljcyBDYXJkXQowN2VjICBYZWJlYwowN2YyICBTcGlyaXQgVGVjaG5vbG9neQoJMDEwMCAgSW5zaWRlciBJTjEwMDAgW1JBTSBFeHBhbnNpb25dCgkwMjAwICBJbnNpZGVyIElONTAwIFtSQU0gRXhwYW5zaW9uXQoJMDMwMCAgU0lONTAwIFtSQU0gRXhwYW5zaW9uXQoJMDQwMCAgSERBIDUwNiBbSEQgQ29udHJvbGxlcl0KCTA1MDAgIEFYLVMgW01pc2NlbGxhbmVvdXMgRXhwYW5zaW9uIENhcmRdCgkwNjAwICBPY3RhQnl0ZSBbUkFNIEV4cGFuc2lvbl0KCTA4MDAgIElubWF0ZSBbU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCjA3ZjMgIFNwaXJpdCBUZWNobm9sb2d5CjA3ZmUgIEJTQy9BbGZhZGF0YQoJMDMwMCAgQUxGIDMgW1NDU0kgSG9zdCBBZGFwdGVyXQowODAxICBCU0MvQWxmYWRhdGEKCTAxMDAgIEFMRiAyIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAyMDAgIEFMRiAyIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTAzMDAgIEFMRiAzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA0MDAgIE9rdGFnb24gNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA2MDAgIFRhbmRlbSBBVC0yMDA4LzUwOCBbSURFIEludGVyZmFjZV0KCTA4MDAgIE9rdGFnb24gMjAwOCBbUkFNIEV4cGFuc2lvbl0KCTEwMDAgIE11bHRpRmFjZSBJIFtNdWx0aSBJL09dCgkyMDAwICBGcmFtZU1hc3RlciBJSSBbR3JhcGhpY3MgQ2FyZF0KCTQwMDAgIElTRE4gTWFzdGVyQ2FyZCBbSVNETiBJbnRlcmZhY2VdCjA4MDIgIENhcmRjbyBMdGQuCgkwNDAwICBLcm9ub3MgMjAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYzAwICBBMTAwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCjA4MDQgIEpvY2hoZWltCgkwMTAwICBbUkFNIEV4cGFuc2lvbl0KCTIwMDAgIFtSQU0gRXhwYW5zaW9uXQowODA3ICBDaGVja3BvaW50IFRlY2hub2xvZ2llcwoJMDAwMCAgU2VyaWFsIFNvbHV0aW9uIFtNdWx0aSBTZXJpYWxdCjA4MTAgIEVkb3Ryb25pawoJMDEwMCAgSUVFRS00ODggSW50ZXJmYWNlIENhcmQKCTAyMDAgIENCTS04MDMyIENhcmQKCTAzMDAgIFtNdWx0aSBTZXJpYWxdCgkwNDAwICAyNEJpdCBSZWFsdGltZSBWaWRlbyBEaWdpdGl6ZXIKCTA1MDAgIDMyQml0IFBhcmFsbGVsIEkvTyBJbnRlcmZhY2UKCTA2MDAgIFBJQyBQcm90b3R5cGluZyBDYXJkCgkwNzAwICAxNiBDaGFubmVsIEFEQyBJbnRlcmZhY2UKCTA4MDAgIFZNRS1CdXMgQ29udHJvbGxlcgoJMDkwMCAgRFNQOTYwMDAgUmVhbHRpbWUgRGF0YSBBY3F1aXNpdGlvbiBEU1AgQ2FyZAowODEzICBORVMgSW5jLgoJMDAwMCAgW1JBTSBFeHBhbnNpb25dCjA4MTcgIElDRAoJMDEwMCAgQWR2YW50YWdlIDIwMDAgW1NDU0kgSG9zdCBBZGFwdGVyXQoJMDMwMCAgQWR2YW50YWdlIFtJREUgSW50ZXJmYWNlXQoJMDQwMCAgQWR2YW50YWdlIDIwODAgW1JBTSBFeHBhbnNpb25dCjA4MTkgIEt1cGtlCgkwMTAwICBPbXRpIFtIRCBDb250cm9sbGVyXQoJMDIwMCAgR29sZW0gU0NTSS1JSSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwMzAwICBHb2xlbSBCb3gKCTA0MDAgIDAzMC84ODIgW0FjY2VsZXJhdG9yXQoJMDUwMCAgR29sZW0gW1NDU0kgSG9zdCBBZGFwdGVyXQowODFkICBHcmVhdCBWYWxsZXkgUHJvZHVjdHMKCTA5MDAgIEEyMDAwLVJBTTgvMiBbTWlzY2VsbGFuZW91cyBFeHBhbnNpb24gQ2FyZF0KCTBhMDAgIEltcGFjdCBTZXJpZXMgSUkgW1JBTSBFeHBhbnNpb25dCjA4MWUgIEludGVyd29ya3MgTmV0d29yawowODIwICBIYXJkaXRhbCBTeW50aGVzaXMKCTAxMDAgIFN1cGVyIEJpZyBCYW5nIFtBY2NlbGVyYXRvciwgU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCgkxNDAwICBUUU0gNjgwMzArNjg4ODIgW0FjY2VsZXJhdG9yXQowODI4ICBBcHBsaWVkIEVuZ2luZWVyaW5nCgkxMDAwICBETDIwMDAgW01vZGVtXQoJZTAwMCAgUkFNIFdvcmtzIFtSQU0gRXhwYW5zaW9uXQowODJjICBCU0MvQWxmYWRhdGEKCTA0MDAgIE9rdGFnb24gNTAwIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA1MDAgIE9rdGFnb24gMjAwOCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwNjAwICBUYW5kZW0gQVQtMjAwOC81MDggW0lERSBJbnRlcmZhY2VdCgkwNzAwICBBbHBoYSAxMjAwIFtSQU0gRXhwYW5zaW9uXQoJMDgwMCAgT2t0YWdvbiAyMDA4IFtSQU0gRXhwYW5zaW9uXQoJMTAwMCAgTXVsdGlGYWNlIEkgW011bHRpIEkvT10KCTExMDAgIE11bHRpRmFjZSBJSSBbTXVsdGkgSS9PXQoJMTIwMCAgTXVsdGlGYWNlIElJSSBbTXVsdGkgSS9PXQoJMjAwMCAgRnJhbWVNYXN0ZXIgSUkgW0dyYXBoaWNzIENhcmRdCgkyMTAwICBHcmFmZml0aSBSQU0gW0dyYXBoaWNzIENhcmRdCgkyMjAwICBHcmFmZml0aSBbR3JhcGhpY3MgQ2FyZF0KCTQwMDAgIElTRE4gTWFzdGVyQ2FyZCBbSVNETiBJbnRlcmZhY2VdCgk0MTAwICBJU0ROIE1hc3RlckNhcmQgSUkgW0lTRE4gSW50ZXJmYWNlXQowODM1ICBQaG9lbml4CgkyMTAwICBTVDUwNiBbSEQgQ29udHJvbGxlcl0KCTIyMDAgIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCWJlMDAgIFtSQU0gRXhwYW5zaW9uXQowODM2ICBBZHZhbmNlZCBTdG9yYWdlIFN5c3RlbXMKCTAxMDAgIE5leHVzIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTA4MDAgIE5leHVzIFtSQU0gRXhwYW5zaW9uXQowODM4ICBJbXB1bHNlCgkwMDAwICBGaXJlQ3JhY2tlciAyNCAoTlRTQykgW0dyYXBoaWNzIENhcmRdCgkwMTAwICBGaXJlQ3JhY2tlciAyNCAoUEFMKSBbR3JhcGhpY3MgQ2FyZF0KMDg0MCAgSVZTCgkwMjAwICBHcmFuZFNsYW0gUElDIDIgW1JBTSBFeHBhbnNpb25dCgkwNDAwICBHcmFuZFNsYW0gUElDIDEgW1JBTSBFeHBhbnNpb25dCgkxMDAwICBPdmVyRHJpdmUgW0hEIENvbnRyb2xsZXJdCgkzMDAwICBUcnVtcENhcmQgQ2xhc3NpYyBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkzNDAwICBUcnVtcENhcmQgUHJvL0dyYW5kU2xhbSBbU0NTSSBIb3N0IEFkYXB0ZXJdCgk0MDAwICBNZXRhLTQgW1JBTSBFeHBhbnNpb25dCgliZjAwICBXYXZldG9vbHMgW0F1ZGlvIENhcmRdCglmMzAwICBWZWN0b3IgW1NDU0kgSG9zdCBBZGFwdGVyXQoJZjQwMCAgVmVjdG9yIFtTQ1NJIEhvc3QgQWRhcHRlcl0KMDg0MSAgVmVjdG9yCgllMzAwICBDb25uZWN0aW9uIFtNdWx0aSBJL09dCjA4NDUgIFhQZXJ0IFByb0RldgoJMDEwMCAgVmlzaW9uYSBSQU0gW0dyYXBoaWNzIENhcmRdCgkwMjAwICBWaXNpb25hIFtHcmFwaGljcyBDYXJkXQoJMDMwMCAgTWVybGluIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTA0MDAgIE1lcmxpbiBbR3JhcGhpY3MgQ2FyZF0KCWM5MDAgIE1lcmxpbiBbR3JhcGhpY3MgQ2FyZF0KMDg0OSAgSHlkcmEgU3lzdGVtcwoJMDEwMCAgQW1pZ2FuZXQgW0V0aGVybmV0IENhcmRdCjA4NGYgIFN1bnJpemUgSW5kdXN0cmllcwoJMDEwMCAgQUQxMDEyIFtBdWRpbyBDYXJkXQoJMDIwMCAgQUQ1MTYgW0F1ZGlvIENhcmRdCgkwMzAwICBERDUxMiBbQXVkaW8gQ2FyZF0KMDg1MCAgVHJpY2VyYXRvcHMKCTAxMDAgIFtNdWx0aSBJL09dCjA4NTEgIEFwcGxpZWQgTWFnaWMgSW5jLgoJMDEwMCAgRE1JIFJlc29sdmVyIFtHcmFwaGljcyBDYXJkXQoJMDIwMCAgVml2aWQgMjQgW0dyYXBoaWNzIENhcmRdCgkwNjAwICBEaWdpdGFsIEJyb2FkY2FzdGVyIFtWaWRlbyBDYXJkXQowODVlICBHRlgtQmFzZQoJMDAwMCAgR0RBLTEgVlJBTSBbR3JhcGhpY3MgQ2FyZF0KCTAxMDAgIEdEQS0xIFtHcmFwaGljcyBDYXJkXQowODYwICBSb2NUZWMKCTAxMDAgIFJIIDgwMEMgW0hEIENvbnRyb2xsZXJdCgkwMjAwICBSSCA4MDBDIFtSQU0gRXhwYW5zaW9uXQowODYxICBLYXRvCiMgVGhlIFJhaW5ib3cgSUkgYW5kIElJSSBhcmUgYWN0dWFsbHkgbWFkZSBieSBJbmdlbmlldXJi/HJvIEhlbGZyaWNoCgkyMDAwICBSYWluYm93IElJIFtHcmFwaGljcyBDYXJkXQoJMjEwMCAgUmFpbmJvdyBJSUkgW0dyYXBoaWNzIENhcmRdCgk4MDAwICBNZWxvZHkgTVBFRyBbQXVkaW8gQ2FyZF0KMDg2MiAgQXRsYW50aXMKMDg2NCAgUHJvdGFyCjA4NjUgIEFDUwowODY2ICBTb2Z0d2FyZSBSZXN1bHRzIEVudGVycHJpc2VzCgkwMTAwICBHb2xkZW4gR2F0ZSAyIEJ1cysgW0lTQSBCdXMgQnJpZGdlXQowODZhICBVbmtub3duCgkwMTAwICBIb3Jpem9uIFtHcmFwaGljcyBDYXJkXQoJMDIwMCAgQmxhY2tib3ggW0dyYXBoaWNzIENhcmRdCgkwMzAwICBWb3lhZ2VyIFtHcmFwaGljcyBDYXJkXQowODZkICBNYXNvYm9zaGkKCTAzMDAgIE1hc3RlckNhcmQgU0MyMDEgW1JBTSBFeHBhbnNpb25dCgkwNDAwICBNYXN0ZXJDYXJkIE1DNzAyIFtTQ1NJIEhvc3QgQWRhcHRlciBhbmQgSURFIEludGVyZmFjZV0KCTA3MDAgIE1WRCA4MTkKMDg2ZiAgTWFpbmhhdHRhbi1EYXRhL0EtVGVhbQoJMDEwMCAgW0lERSBJbnRlcmZhY2VdCjA4NzcgIFZpbGxhZ2UgVHJvbmljCgkwMTAwICBEb21pbm8gUkFNIFtHcmFwaGljcyBDYXJkXQoJMDIwMCAgRG9taW5vIFtHcmFwaGljcyBDYXJkXQoJMDMwMCAgRG9taW5vIDE2TSBQcm90b3R5cGUgW0dyYXBoaWNzIENhcmRdCgkwYjAwICBQaWNhc3NvIElJL0lJKyBSQU0gW0dyYXBoaWNzIENhcmRdCgkwYzAwICBQaWNhc3NvIElJL0lJKyBbR3JhcGhpY3MgQ2FyZF0KCTBkMDAgIFBpY2Fzc28gSUkvSUkrIChTZWdtZW50ZWQgTW9kZSkgW0dyYXBoaWNzIENhcmRdCgkxNTAwICBQaWNhc3NvIElWIFoyIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTE2MDAgIFBpY2Fzc28gSVYgWjIgUkFNIFtHcmFwaGljcyBDYXJkXQoJMTcwMCAgUGljYXNzbyBJViBaMiBbR3JhcGhpY3MgQ2FyZF0KCTE4MDAgIFBpY2Fzc28gSVYgWjMgW0dyYXBoaWNzIENhcmRdCgljOTAwICBBcmlhZG5lIFtFdGhlcm5ldCBDYXJkIGFuZCBQYXJhbGxlbCBQb3J0c10KCWNhMDAgIEFyaWFkbmUgSUkgW0V0aGVybmV0IENhcmRdCjA4N2IgIFV0aWxpdGllcyBVbmxpbWl0ZWQKCTE1MDAgIEVtcGxhbnQgRGVsdXhlIFtNYWNpbnRvc2ggRW11bGF0b3JdCgkyMDAwICBFbXBsYW50IERlbHV4ZSBbTWFjaW50b3NoIEVtdWxhdG9yXQowODgwICBBbWl0cml4CgkwMTAwICBbTXVsdGkgSS9PXQoJMDIwMCAgQ0QtUkFNIFtSQU0gRXhwYW5zaW9uXQowODg1ICBBck1heAoJMDAwMCAgT21uaUJ1cyBbR3JhcGhpY3MgQ2FyZF0KMDg4ZCAgWkVVUyBFbGVjdHJvbmljIERldmVsb3BtZW50CgkwMzAwICBbSVNETiBJbnRlcmZhY2VdCgkwNDAwICBTcGlkZXIgW1ZpZGVvIENhcmRdCjA4OGYgIE5ld1RlawoJMDAwMCAgVmlkZW9Ub2FzdGVyIFtWaWRlbyBDYXJkXQowODkwICBNLVRlY2ggR2VybWFueQoJMDEwMCAgQVQ1MDAgW0lERSBJbnRlcmZhY2VdCgkwMzAwICA2ODAzMCBbQWNjZWxlcmF0b3JdCgkwNjAwICA2ODAyMGkgW0FjY2VsZXJhdG9yXQoJMjAwMCAgQTEyMDAgVDY4MDMwIFJUQyBbQWNjZWxlcmF0b3JdCgkyMTAwICBWaXBlciBNayBWL0UtTWF0cml4IDUzMCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCgkyMjAwICA4TUIgW1JBTSBFeHBhbnNpb25dCgkyNDAwICBWaXBlciBNayBWL0UtTWF0cml4IDUzMCBbU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIElERSBJbnRlcmZhY2VdCjA4OTEgIEdyZWF0IFZhbGxleSBQcm9kdWN0cwoJMDEwMCAgRUdTIDI4LzI0IFNwZWN0cnVtIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTAyMDAgIEVHUyAyOC8yNCBTcGVjdHJ1bSBbR3JhcGhpY3MgQ2FyZF0KMDg5MiAgQXBvbGxvCgkwMTAwICBBMTIwMCBbRlBVIGFuZCBSQU0gRXhwYW5zaW9uXQowODkzICBJbmdlbmlldXJi/HJvIEhlbGZyaWNoCgkwNTAwICBQaWNjb2xvIFJBTSBbR3JhcGhpY3MgQ2FyZF0KCTA2MDAgIFBpY2NvbG8gW0dyYXBoaWNzIENhcmRdCgkwNzAwICBQZWdneVBsdXMgTVBFRyBbVmlkZW8gQ2FyZF0KCTA4MDAgIFZpZGVvQ3J1bmNoZXIgW1ZpZGVvIENhcmRdCgkwYTAwICBQaWNjb2xvIFNENjQgUkFNIFtHcmFwaGljcyBDYXJkXQoJMGIwMCAgUGljY29sbyBTRDY0IFtHcmFwaGljcyBDYXJkXQowODliICBNYWNyb1N5c3RlbXMgVVNBCgkxMzAwICBXYXJwIEVuZ2luZSA0MHh4IFtBY2NlbGVyYXRvciwgU0NTSSBIb3N0IEFkYXB0ZXIgYW5kIFJBTSBFeHBhbnNpb25dCjA4OWUgIEVsQm94IENvbXB1dGVyCgkwNjAwICAxMjAwLzQgW1JBTSBFeHBhbnNpb25dCgkwODAwICBGYXN0QVRBIDEyMDAgW0lERSBJbnRlcmZhY2VdCgkxMjAwICBGYXN0QVRBIDEyMDAgW0lERSBJbnRlcmZhY2VdCgkxMzAwICBGYXN0QVRBIDEyMDAgW0lERSBJbnRlcmZhY2VdCgkxODAwICBGYXN0QVRBIDEyMDAgW0lERSBJbnRlcmZhY2VdCgkxOTAwICBGYXN0QVRBIDQwMDAgW0lERSBJbnRlcmZhY2VdCgkxZDAwICBGYXN0QVRBIDQwMDAgW0lERSBJbnRlcmZhY2VdCgkxZTAwICBGYXN0QVRBIFpJViBbSURFIEludGVyZmFjZV0KMGEwMCAgSGFybXMgUHJvZmVzc2lvbmFsCgkxMDAwICAwMzAgUGx1cyBbQWNjZWxlcmF0b3JdCglkMDAwICAzNTAwIFByb2Zlc3Npb25hbCBbQWNjZWxlcmF0b3IgYW5kIFJBTSBFeHBhbnNpb25dCjBhNTAgIE1pY3JvbmlrCgkwYTAwICBSQ0EgMTIwIFtSQU0gRXhwYW5zaW9uXQowZjBmICBNaWNyb25pawoJMDEwMCAgWjNpIEExMjAwIFtab3JybyBJSUkgRXh0ZW5kZXIgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoxMDAwICBNZWdhTWljcm8KCTAzMDAgIFNDUkFNIDUwMCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwNDAwICBTQ1JBTSA1MDAgW1JBTSBFeHBhbnNpb25dCjEwMjggIFJvbmluL0ltdHJvbmljcwoJMzkwMCAgSHVycmljYW5lIDI4MDAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoJNTcwMCAgSHVycmljYW5lIDI4MDAgW0FjY2VsZXJhdG9yIGFuZCBSQU0gRXhwYW5zaW9uXQoxMDJmICBBdGVvIENvbmNlcHRzCglmYzAwICBBdGVvQnVzIFtFeHBhbnNpb24gQnVzIEJyaWRnZV0KCWZlMDAgIFBpeGVsNjQgW0dyYXBoaWNzIENhcmRdCglmZjAwICBQaXhlbDY0IFJBTSBbR3JhcGhpY3MgQ2FyZF0KMTIxMiAgSW5kaXZpZHVhbCBDb21wdXRlcnMKCTAwMDAgIEJ1ZGRoYSBbSURFIEludGVyZmFjZV0KCTE3MDAgIFgtU3VyZiBbRXRoZXJuZXQgQ2FyZCBhbmQgSURFIEludGVyZmFjZV0KCTJhMDAgIENhdHdlYXNlbCBbSURFIEludGVyZmFjZSBhbmQgRmxvcHB5IENvbnRyb2xsZXJdCjEyNDggIEt1cGtlCgkwMTAwICBHb2xlbSBIRCAzMDAwIFtIRCBDb250cm9sbGVyXQoxMjY3ICBSQk0tQ29tcHV0ZXJ0ZWNobmlrCgkwMTAwICBJT0JsaXggW011bHRpIEkvT10KMTM4OCAgSVRICgkwMTAwICBJU0ROLU1hc3RlciBJSSBbSVNETiBJbnRlcmZhY2VdCjEzODkgIFZNQwoJMDEwMCAgSVNETiBCbGFzdGVyIFoyIFtJU0ROIEludGVyZmFjZV0KCTAyMDAgIEh5cGVyQ29tIDQgW011bHRpIEkvT10KCTA2MDAgIEh5cGVyQ29tIDQrIFtNdWx0aSBJL09dCjE1N2MgIEluZm9ybWF0aW9uCgk2NDAwICBJU0ROIEVuZ2luZSBJIFtJU0ROIEludGVyZmFjZV0KMjAxNyAgVm9ydGV4CgkwNzAwICBHb2xkZW4gR2F0ZSA4MDM4NlNYIFtJU0EgQnVzIEJyaWRnZV0KCTA4MDAgIEdvbGRlbiBHYXRlIFtSQU0gRXhwYW5zaW9uXQoJMDkwMCAgR29sZGVuIEdhdGUgODA0ODYgW0lTQSBCdXMgQnJpZGdlXQoyMDYyICBFeHBhbnNpb24gU3lzdGVtcwoJMDEwMCAgRGF0YUZseWVyIDQwMDBTWCBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwMjAwICBEYXRhRmx5ZXIgNDAwMFNYIFtSQU0gRXhwYW5zaW9uXQoyMTAwICBSZWFkeVNvZnQKCTAxMDAgIEFNYXggSUkvSVYgW01hY2ludG9zaCBFbXVsYXRvcl0KMjE0MCAgUGhhc2UgNQoJMDEwMCAgQmxpenphcmQgW1JBTSBFeHBhbnNpb25dCgkwMjAwICBCbGl6emFyZCBbQWNjZWxlcmF0b3JdCgkwNjAwICBCbGl6emFyZCAxMjIwLUlWIFtBY2NlbGVyYXRvcl0KCTBhMDAgIEZhc3RMYW5lIFozIFtSQU0gRXhwYW5zaW9uXQoJMGIwMCAgQmxpenphcmQgMTIzMC1JSS9GYXN0bGFuZSBaMy9DeWJlclNDU0kvQ3liZXJTdG9ybTA2MCBbQWNjZWxlcmF0b3IgYW5kL29yIFNDU0kgSG9zdCBBZGFwdGVyXQoJMGMwMCAgQmxpenphcmQgMTIyMC9DeWJlclN0b3JtIFtBY2NlbGVyYXRvciBhbmQgU0NTSSBIb3N0IEFkYXB0ZXJdCgkwZDAwICBCbGl6emFyZCAxMjMwIFtBY2NlbGVyYXRvcl0KCTExMDAgIEJsaXp6YXJkIDEyMzAtSVYvMTI2MCBbQWNjZWxlcmF0b3JdCgkxODAwICBCbGl6emFyZCAyMDYwIFtBY2NlbGVyYXRvcl0KCTE5MDAgIEN5YmVyU3Rvcm0gTWsgSUkgW0ZsYXNoIFJPTV0KCTIyMDAgIEN5YmVyVmlzaW9uNjQgW0dyYXBoaWNzIENhcmRdCgkzMjAwICBDeWJlclZpc2lvbjY0LTNEIFByb3RvdHlwZSBbR3JhcGhpY3MgQ2FyZF0KCTQzMDAgIEN5YmVyVmlzaW9uNjQtM0QgW0dyYXBoaWNzIENhcmRdCgk2NDAwICBDeWJlclN0b3JtIE1rIElJSSBbQWNjZWxlcmF0b3IgYW5kIFNDU0kgSG9zdCBBZGFwdGVyXQoJNmUwMCAgQmxpenphcmQgNjAzZSsgW0FjY2VsZXJhdG9yIGFuZCBTQ1NJIEhvc3QgQWRhcHRlcl0KMjE2OSAgRFBTCgkwMTAwICBQZXJzb25hbCBBbmltYXRpb24gUmVjb3JkZXIgW1ZpZGVvIENhcmRdCjIyMDAgIEFwb2xsbwoJMDAwMCAgQTYyMCA2ODAyMCBbQWNjZWxlcmF0b3JdCgkwMTAwICBBNjIwIDY4MDIwIFtBY2NlbGVyYXRvcl0KMjIyMiAgQXBvbGxvCgkyMjAwICBBVC1BcG9sbG8KCTIzMDAgIDEyMzAvMTI0MC8xMjYwLzIwMzAvNDA0MC80MDYwIFtBY2NlbGVyYXRvcl0KMzhhNSAgUGV0c29mZiBMUAoJMDAwMCAgRGVsZmluYSBbQXVkaW8gQ2FyZF0KCTAxMDAgIERlbGZpbmEgTGl0ZSBbQXVkaW8gQ2FyZF0KCTAyMDAgIERlbGZpbmEgUGx1cyBbQXVkaW8gQ2FyZF0KM2ZmNyAgVXdlIEdlcmxhY2gKCWQ0MDAgIFJBTS9ST00gW01pc2NlbGxhbmVvdXMgRXhwYW5zaW9uIENhcmRdCjQyMzEgIEFDVAoJMDEwMCAgUHJlbHVkZSBbQXVkaW8gQ2FyZF0KNDc1NCAgTWFjcm9TeXN0ZW1zIEdlcm1hbnkKCTAzMDAgIE1hZXN0cm8gW0F1ZGlvIENhcmRdCgkwNDAwICBWTGFiIFtWaWRlbyBDYXJkXQoJMDUwMCAgTWFlc3RybyBQcm8gW0F1ZGlvIENhcmRdCgkwNjAwICBSZXRpbmEgW0dyYXBoaWNzIENhcmRdCgkwODAwICBNdWx0aUV2b2x1dGlvbiBbU0NTSSBIb3N0IEFkYXB0ZXJdCgkwYzAwICBUb2NjYXRhIFtBdWRpbyBDYXJkXQoJMGQwMCAgVG9jY2F0YSBQcm8gW0F1ZGlvIENhcmRdCgkxMDAwICBSZXRpbmEgWjMgW0dyYXBoaWNzIENhcmRdCgkxMjAwICBWTGFiIE1vdGlvbiBbVmlkZW8gQ2FyZF0KCTEzMDAgIEFsdGFpcyBbR3JhcGhpY3MgQ2FyZF0KCWZkMDAgIEZhbGNvbiAnMDQwIFtBY2NlbGVyYXRvcl0KNjc2NiAgQ29tYml0ZWMKODAwMCAgU0tJIFBlcmlwaGVyYWxzCgkwODAwICBNQVNUIEZpcmViYWxsIFtTQ1NJIEhvc3QgQWRhcHRlcl0KCTgwMDAgIFtTQ1NJIEhvc3QgQWRhcHRlciBhbmQgRHVhbCBTZXJpYWwgQ2FyZF0KYTlhZCAgUmVpcy1XYXJlCgkxMTAwICBTY2FuIEtpbmcgW1NjYW5uZXIgSW50ZXJmYWNlXQphYTAxICBDYW1lcm9uCgkxMDAwICBQZXJzb25hbCBBNCBbU2Nhbm5lciBJbnRlcmZhY2VdCmFhMTEgIFJlaXMtV2FyZQoJMTEwMCAgSGFuZHlzY2FubmVyIFtTY2FubmVyIEludGVyZmFjZV0KYjVhOCAgUGhvZW5peAoJMjEwMCAgU1Q1MDYgW0hEIENvbnRyb2xsZXJdCgkyMjAwICBbU0NTSSBIb3N0IEFkYXB0ZXJdCgliZTAwICBbUkFNIEV4cGFuc2lvbl0KYzAwOCAgQ29tYml0ZWMKCTJhMDAgIFtIRCBDb250cm9sbGVyXQoJMmIwMCAgU1JBTSBbUkFNIEV4cGFuc2lvbl0K