Lyogdmk6c2V0IHRzPTggc3RzPTQgc3c9NDoKICoKICogVklNIC0gVmkgSU1wcm92ZWQJYnkgQnJhbSBNb29sZW5hYXIKICoKICogRG8gIjpoZWxwIHVnYW5kYSIgIGluIFZpbSB0byByZWFkIGNvcHlpbmcgYW5kIHVzYWdlIGNvbmRpdGlvbnMuCiAqIERvICI6aGVscCBjcmVkaXRzIiBpbiBWaW0gdG8gc2VlIGEgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkLgogKiBTZWUgUkVBRE1FLnR4dCBmb3IgYW4gb3ZlcnZpZXcgb2YgdGhlIFZpbSBzb3VyY2UgY29kZS4KICovCgovKgogKiBkaWdyYXBoLmM6IGNvZGUgZm9yIGRpZ3JhcGhzCiAqLwoKI2luY2x1ZGUgInZpbS5oIgoKI2lmIGRlZmluZWQoRkVBVF9ESUdSQVBIUykgfHwgZGVmaW5lZChQUk9UTykKCiNpZmRlZiBGRUFUX01CWVRFCnR5cGVkZWYgaW50IHJlc3VsdF9UOwojZWxzZQp0eXBlZGVmIGNoYXJfdSByZXN1bHRfVDsKI2VuZGlmCgp0eXBlZGVmIHN0cnVjdCBkaWdyYXBoCnsKICAgIGNoYXJfdQljaGFyMTsKICAgIGNoYXJfdQljaGFyMjsKICAgIHJlc3VsdF9UCXJlc3VsdDsKfSBkaWdyX1Q7CgpzdGF0aWMgaW50IGdldGV4YWN0ZGlncmFwaCBfX0FSR1MoKGludCwgaW50LCBpbnQpKTsKc3RhdGljIHZvaWQgcHJpbnRkaWdyYXBoIF9fQVJHUygoZGlncl9UICopKTsKCi8qIGRpZ3JhcGhzIGFkZGVkIGJ5IHRoZSB1c2VyICovCnN0YXRpYyBnYXJyYXlfVAl1c2VyX2RpZ3JhcGhzID0gezAsIDAsIHNpemVvZihkaWdyX1QpLCAxMCwgTlVMTH07CgovKgogKiBOb3RlOiBDaGFyYWN0ZXJzIG1hcmtlZCB3aXRoIFhYIGFyZSBub3QgaW5jbHVkZWQgbGl0ZXJhbGx5LCBiZWNhdXNlIHNvbWUKICogY29tcGlsZXJzIGNhbm5vdCBoYW5kbGUgdGhlbSAoQW1pZ2EgU0FTL0MgaXMgdGhlIG1vc3QgcGlja3kgb25lKS4KICovCnN0YXRpYyBkaWdyX1QgZGlncmFwaGRlZmF1bHRbXSA9CiNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKE9TMikKCS8qCgkgKiBNU0RPUyBkaWdyYXBocy4KCSAqLwogICAgICAge3snQycsICcsJywgMTI4fSwJLyogfkAgWFggKi8KCXsndScsICciJywgMTI5fSwJLyoggSAqLwoJeydlJywgJ1wnJywgMTMwfSwJLyoggiAqLwoJeydhJywgJ14nLCAxMzF9LAkvKiCDICovCgl7J2EnLCAnIicsIDEzMn0sCS8qIIQgKi8KCXsnYScsICdgJywgMTMzfSwJLyoghSAqLwoJeydhJywgJ0AnLCAxMzR9LAkvKiCGICovCgl7J2MnLCAnLCcsIDEzNX0sCS8qIH5HIFhYICovCgl7J2UnLCAnXicsIDEzNn0sCS8qIH5IIFhYICovCgl7J2UnLCAnIicsIDEzN30sCS8qIIkgKi8KCXsnZScsICdgJywgMTM4fSwJLyogiiAqLwoJeydpJywgJyInLCAxMzl9LAkvKiCLICovCgl7J2knLCAnXicsIDE0MH0sCS8qIIwgKi8KCXsnaScsICdgJywgMTQxfSwJLyogjSAqLwoJeydBJywgJyInLCAxNDJ9LAkvKiB+TiBYWCAqLwoJeydBJywgJ0AnLCAxNDN9LAkvKiCPICovCgl7J0UnLCAnXCcnLCAxNDR9LAkvKiCQICovCgl7J2EnLCAnZScsIDE0NX0sCS8qIJEgKi8KCXsnQScsICdFJywgMTQ2fSwJLyogkiAqLwoJeydvJywgJ14nLCAxNDd9LAkvKiCTICovCgl7J28nLCAnIicsIDE0OH0sCS8qIJQgKi8KCXsnbycsICdgJywgMTQ5fSwJLyoglSAqLwoJeyd1JywgJ14nLCAxNTB9LAkvKiCWICovCgl7J3UnLCAnYCcsIDE1MX0sCS8qIJcgKi8KCXsneScsICciJywgMTUyfSwJLyogmCAqLwoJeydPJywgJyInLCAxNTN9LAkvKiCZICovCgl7J1UnLCAnIicsIDE1NH0sCS8qIJogKi8KCXsnYycsICd8JywgMTU1fSwJLyogmyAqLwoJeyckJywgJyQnLCAxNTZ9LAkvKiCcICovCgl7J1knLCAnLScsIDE1N30sCS8qIH5dIFhYICovCgl7J1AnLCAndCcsIDE1OH0sCS8qIJ4gKi8KCXsnZicsICdmJywgMTU5fSwJLyognyAqLwoJeydhJywgJ1wnJywgMTYwfSwJLyogoCAqLwoJeydpJywgJ1wnJywgMTYxfSwJLyogoSAqLwoJeydvJywgJ1wnJywgMTYyfSwJLyogoiAqLwoJeyd1JywgJ1wnJywgMTYzfSwJLyogeCBYWCAqLwoJeyduJywgJ34nLCAxNjR9LAkvKiCkICovCgl7J04nLCAnficsIDE2NX0sCS8qIKUgKi8KCXsnYScsICdhJywgMTY2fSwJLyogpiAqLwoJeydvJywgJ28nLCAxNjd9LAkvKiCnICovCgl7J34nLCAnPycsIDE2OH0sCS8qIKggKi8KCXsnLScsICdhJywgMTY5fSwJLyogqSAqLwoJeydhJywgJy0nLCAxNzB9LAkvKiCqICovCgl7JzEnLCAnMicsIDE3MX0sCS8qIKsgKi8KCXsnMScsICc0JywgMTcyfSwJLyogrCAqLwoJeyd+JywgJyEnLCAxNzN9LAkvKiCtICovCgl7JzwnLCAnPCcsIDE3NH0sCS8qIK4gKi8KCXsnPicsICc+JywgMTc1fSwJLyogryAqLwoKCXsncycsICdzJywgMjI1fSwJLyog4SAqLwoJeydqJywgJ3UnLCAyMzB9LAkvKiDmICovCgl7J28nLCAnLycsIDIzN30sCS8qIO0gKi8KCXsnKycsICctJywgMjQxfSwJLyog8SAqLwoJeyc+JywgJz0nLCAyNDJ9LAkvKiDyICovCgl7JzwnLCAnPScsIDI0M30sCS8qIPMgKi8KCXsnOicsICctJywgMjQ2fSwJLyog9iAqLwoJeyd+JywgJ34nLCAyNDd9LAkvKiD3ICovCgl7J34nLCAnbycsIDI0OH0sCS8qIPggKi8KCXsnMicsICcyJywgMjUzfSwJLyog/SAqLwoJe05VTCwgTlVMLCBOVUx9Cgl9OwoKI2Vsc2UJLyogIU1TRE9TICYmICFPUzIgKi8KIyBpZmRlZiBfX01JTlRfXwoKCS8qCgkgKiBBVEFSSSBkaWdyYXBocwoJICovCiAgICAgICB7eydDJywgJywnLCAxMjh9LAkvKiB+QCBYWCAqLwoJeyd1JywgJyInLCAxMjl9LAkvKiCBICovCgl7J2UnLCAnXCcnLCAxMzB9LAkvKiCCICovCgl7J2EnLCAnXicsIDEzMX0sCS8qIIMgKi8KCXsnYScsICciJywgMTMyfSwJLyoghCAqLwoJeydhJywgJ2AnLCAxMzN9LAkvKiCFICovCgl7J2EnLCAnQCcsIDEzNH0sCS8qIIYgKi8KCXsnYycsICcsJywgMTM1fSwJLyogfkcgWFggKi8KCXsnZScsICdeJywgMTM2fSwJLyogfkggWFggKi8KCXsnZScsICciJywgMTM3fSwJLyogiSAqLwoJeydlJywgJ2AnLCAxMzh9LAkvKiCKICovCgl7J2knLCAnIicsIDEzOX0sCS8qIIsgKi8KCXsnaScsICdeJywgMTQwfSwJLyogjCAqLwoJeydpJywgJ2AnLCAxNDF9LAkvKiCNICovCgl7J0EnLCAnIicsIDE0Mn0sCS8qII4gKi8KCXsnQScsICdAJywgMTQzfSwJLyogjyAqLwoJeydFJywgJ1wnJywgMTQ0fSwJLyogkCAqLwoJeydhJywgJ2UnLCAxNDV9LAkvKiCRICovCgl7J0EnLCAnRScsIDE0Nn0sCS8qIJIgKi8KCXsnbycsICdeJywgMTQ3fSwJLyogkyAqLwoJeydvJywgJyInLCAxNDh9LAkvKiCUICovCgl7J28nLCAnYCcsIDE0OX0sCS8qIJUgKi8KCXsndScsICdeJywgMTUwfSwJLyogliAqLwoJeyd1JywgJ2AnLCAxNTF9LAkvKiCXICovCgl7J3knLCAnIicsIDE1Mn0sCS8qIJggKi8KCXsnTycsICciJywgMTUzfSwJLyogmSAqLwoJeydVJywgJyInLCAxNTR9LAkvKiCaICovCgl7J2MnLCAnfCcsIDE1NX0sCS8qIJsgKi8KCXsnJCcsICckJywgMTU2fSwJLyognCAqLwoJeydZJywgJy0nLCAxNTd9LAkvKiB+XSBYWCAqLwoJeydzJywgJ3MnLCAxNTh9LAkvKiCeICovCgl7J2YnLCAnZicsIDE1OX0sCS8qIJ8gKi8KCXsnYScsICdcJycsIDE2MH0sCS8qIKAgKi8KCXsnaScsICdcJycsIDE2MX0sCS8qIKEgKi8KCXsnbycsICdcJycsIDE2Mn0sCS8qIKIgKi8KCXsndScsICdcJycsIDE2M30sCS8qIKMgKi8KCXsnbicsICd+JywgMTY0fSwJLyogpCAqLwoJeydOJywgJ34nLCAxNjV9LAkvKiClICovCgl7J2EnLCAnYScsIDE2Nn0sCS8qIKYgKi8KCXsnbycsICdvJywgMTY3fSwJLyogpyAqLwoJeyd+JywgJz8nLCAxNjh9LAkvKiCoICovCgl7Jy0nLCAnYScsIDE2OX0sCS8qIKkgKi8KCXsnYScsICctJywgMTcwfSwJLyogqiAqLwoJeycxJywgJzInLCAxNzF9LAkvKiCrICovCgl7JzEnLCAnNCcsIDE3Mn0sCS8qIKwgKi8KCXsnficsICchJywgMTczfSwJLyogrSAqLwoJeyc8JywgJzwnLCAxNzR9LAkvKiCuICovCgl7Jz4nLCAnPicsIDE3NX0sCS8qIK8gKi8KCXsnaicsICd1JywgMjMwfSwJLyog5iAqLwoJeydvJywgJy8nLCAyMzd9LAkvKiDtICovCgl7JysnLCAnLScsIDI0MX0sCS8qIPEgKi8KCXsnPicsICc9JywgMjQyfSwJLyog8iAqLwoJeyc8JywgJz0nLCAyNDN9LAkvKiDzICovCgl7JzonLCAnLScsIDI0Nn0sCS8qIPYgKi8KCXsnficsICd+JywgMjQ3fSwJLyog9yAqLwoJeyd+JywgJ28nLCAyNDh9LAkvKiD4ICovCgl7JzInLCAnMicsIDI1M30sCS8qIP0gKi8KCXtOVUwsIE5VTCwgTlVMfQoJfTsKCiMgZWxzZQkvKiAhX19NSU5UX18gKi8KIyAgaWZkZWYgSFBVWF9ESUdSQVBIUwoKCS8qCgkgKiBkaWZmZXJlbnQgSFBVWCBkaWdyYXBocwoJICovCiAgICAgICB7eydBJywgJ2AnLCAxNjF9LAkvKiChICovCgl7J0EnLCAnXicsIDE2Mn0sCS8qIKIgKi8KCXsnRScsICdgJywgMTYzfSwJLyogoyAqLwoJeydFJywgJ14nLCAxNjR9LAkvKiCkICovCgl7J0UnLCAnIicsIDE2NX0sCS8qIKUgKi8KCXsnSScsICdeJywgMTY2fSwJLyogpiAqLwoJeydJJywgJyInLCAxNjd9LAkvKiCnICovCgl7J1wnJywgJ1wnJywgMTY4fSwJLyogqCAqLwoJeydgJywgJ2AnLCAxNjl9LAkvKiCpICovCgl7J14nLCAnXicsIDE3MH0sCS8qIKogKi8KCXsnIicsICciJywgMTcxfSwJLyogqyAqLwoJeyd+JywgJ34nLCAxNzJ9LAkvKiCsICovCgl7J1UnLCAnYCcsIDE3M30sCS8qIK0gKi8KCXsnVScsICdeJywgMTc0fSwJLyogriAqLwoJeydMJywgJz0nLCAxNzV9LAkvKiCvICovCgl7J34nLCAnXycsIDE3Nn0sCS8qILAgKi8KCXsnWScsICdcJycsIDE3N30sCS8qILEgKi8KCXsneScsICdcJycsIDE3OH0sCS8qILIgKi8KCXsnficsICdvJywgMTc5fSwJLyogsyAqLwoJeydDJywgJywnLCAxODB9LAkvKiC0ICovCgl7J2MnLCAnLCcsIDE4MX0sCS8qILUgKi8KCXsnTicsICd+JywgMTgyfSwJLyogtiAqLwoJeyduJywgJ34nLCAxODN9LAkvKiC3ICovCgl7J34nLCAnIScsIDE4NH0sCS8qILggKi8KCXsnficsICc/JywgMTg1fSwJLyoguSAqLwoJeydvJywgJ3gnLCAxODZ9LAkvKiC6ICovCgl7J0wnLCAnLScsIDE4N30sCS8qILsgKi8KCXsnWScsICc9JywgMTg4fSwJLyogvCAqLwoJeydwJywgJ3AnLCAxODl9LAkvKiC9ICovCgl7J2YnLCAnbCcsIDE5MH0sCS8qIL4gKi8KCXsnYycsICd8JywgMTkxfSwJLyogvyAqLwoJeydhJywgJ14nLCAxOTJ9LAkvKiDAICovCgl7J2UnLCAnXicsIDE5M30sCS8qIMEgKi8KCXsnbycsICdeJywgMTk0fSwJLyogwiAqLwoJeyd1JywgJ14nLCAxOTV9LAkvKiDDICovCgl7J2EnLCAnXCcnLCAxOTZ9LAkvKiDEICovCgl7J2UnLCAnXCcnLCAxOTd9LAkvKiDFICovCgl7J28nLCAnXCcnLCAxOTh9LAkvKiDGICovCgl7J3UnLCAnXCcnLCAxOTl9LAkvKiDHICovCgl7J2EnLCAnYCcsIDIwMH0sCS8qIMggKi8KCXsnZScsICdgJywgMjAxfSwJLyogySAqLwoJeydvJywgJ2AnLCAyMDJ9LAkvKiDKICovCgl7J3UnLCAnYCcsIDIwM30sCS8qIMsgKi8KCXsnYScsICciJywgMjA0fSwJLyogzCAqLwoJeydlJywgJyInLCAyMDV9LAkvKiDNICovCgl7J28nLCAnIicsIDIwNn0sCS8qIM4gKi8KCXsndScsICciJywgMjA3fSwJLyogzyAqLwoJeydBJywgJ28nLCAyMDh9LAkvKiDQICovCgl7J2knLCAnXicsIDIwOX0sCS8qINEgKi8KCXsnTycsICcvJywgMjEwfSwJLyog0iAqLwoJeydBJywgJ0UnLCAyMTF9LAkvKiDTICovCgl7J2EnLCAnbycsIDIxMn0sCS8qINQgKi8KCXsnaScsICdcJycsIDIxM30sCS8qINUgKi8KCXsnbycsICcvJywgMjE0fSwJLyog1iAqLwoJeydhJywgJ2UnLCAyMTV9LAkvKiDXICovCgl7J0EnLCAnIicsIDIxNn0sCS8qINggKi8KCXsnaScsICdgJywgMjE3fSwJLyog2SAqLwoJeydPJywgJyInLCAyMTh9LAkvKiDaICovCgl7J1UnLCAnIicsIDIxOX0sCS8qINsgKi8KCXsnRScsICdcJycsIDIyMH0sCS8qINwgKi8KCXsnaScsICciJywgMjIxfSwJLyog3SAqLwoJeydzJywgJ3MnLCAyMjJ9LAkvKiDeICovCgl7J08nLCAnXicsIDIyM30sCS8qIN8gKi8KCXsnQScsICdcJycsIDIyNH0sCS8qIOAgKi8KCXsnQScsICd+JywgMjI1fSwJLyog4SAqLwoJeydhJywgJ34nLCAyMjZ9LAkvKiDiICovCgl7J0QnLCAnLScsIDIyN30sCS8qIOMgKi8KCXsnZCcsICctJywgMjI4fSwJLyog5CAqLwoJeydJJywgJ1wnJywgMjI5fSwJLyog5SAqLwoJeydJJywgJ2AnLCAyMzB9LAkvKiDmICovCgl7J08nLCAnXCcnLCAyMzF9LAkvKiDnICovCgl7J08nLCAnYCcsIDIzMn0sCS8qIOggKi8KCXsnTycsICd+JywgMjMzfSwJLyog6SAqLwoJeydvJywgJ34nLCAyMzR9LAkvKiDqICovCgl7J1MnLCAnficsIDIzNX0sCS8qIOsgKi8KCXsncycsICd+JywgMjM2fSwJLyog7CAqLwoJeydVJywgJ1wnJywgMjM3fSwJLyog7SAqLwoJeydZJywgJyInLCAyMzh9LAkvKiDuICovCgl7J3knLCAnIicsIDIzOX0sCS8qIO8gKi8KCXsncCcsICctJywgMjQwfSwJLyog8CAqLwoJeydwJywgJ34nLCAyNDF9LAkvKiDxICovCgl7J34nLCAnLicsIDI0Mn0sCS8qIPIgKi8KCXsnaicsICd1JywgMjQzfSwJLyog8yAqLwoJeydQJywgJ3AnLCAyNDR9LAkvKiD0ICovCgl7JzMnLCAnNCcsIDI0NX0sCS8qIPUgKi8KCXsnLScsICctJywgMjQ2fSwJLyog9iAqLwoJeycxJywgJzQnLCAyNDd9LAkvKiD3ICovCgl7JzEnLCAnMicsIDI0OH0sCS8qIPggKi8KCXsnYScsICdfJywgMjQ5fSwJLyog+SAqLwoJeydvJywgJ18nLCAyNTB9LAkvKiD6ICovCgl7JzwnLCAnPCcsIDI1MX0sCS8qIPsgKi8KCXsneCcsICd4JywgMjUyfSwJLyog/CAqLwoJeyc+JywgJz4nLCAyNTN9LAkvKiD9ICovCgl7JysnLCAnLScsIDI1NH0sCS8qIP4gKi8KCXsnbicsICd1JywgMjU1fSwJLyogeCBYWCAqLwoJe05VTCwgTlVMLCBOVUx9Cgl9OwoKIyAgZWxzZQkvKiAhSFBVWF9ESUdSQVBIUyAqLwoKIyAgIGlmZGVmIEVCQ0RJQwoKCS8qCgkgKiBFQkNESUMgLSBJU08gZGlncmFwaHMKCSAqIFRPRE86IEVCQ0RJQyBUYWJsZSBpcyBDb2RlLVBhZ2UgMTA0NwoJICovCiAgICAgICB7eydhJywgJ14nLCAgICA2Nn0sCS8qIOIgKi8KCXsnYScsICciJywgICAgNjd9LAkvKiDkICovCgl7J2EnLCAnYCcsICAgIDY4fSwJLyog4CAqLwoJeydhJywgJ1wnJywgICA2OX0sCS8qIOEgKi8KCXsnYScsICd+JywgICAgNzB9LAkvKiDjICovCgl7J2EnLCAnQCcsICAgIDcxfSwJLyog5SAqLwoJeydhJywgJ2EnLCAgICA3MX0sCS8qIOUgKi8KCXsnYycsICcsJywgICAgNzJ9LAkvKiDnICovCgl7J24nLCAnficsICAgIDczfSwJLyog8SAqLwoJeydjJywgJ3wnLCAgICA3NH0sCS8qIKIgKi8KCXsnZScsICdcJycsICAgODF9LAkvKiDpICovCgl7J2UnLCAnXicsICAgIDgyfSwJLyog6iAqLwoJeydlJywgJyInLCAgICA4M30sCS8qIOsgKi8KCXsnZScsICdgJywgICAgODR9LAkvKiDoICovCgl7J2knLCAnXCcnLCAgIDg1fSwJLyog7SAqLwoJeydpJywgJ14nLCAgICA4Nn0sCS8qIO4gKi8KCXsnaScsICciJywgICAgODd9LAkvKiDvICovCgl7J2knLCAnYCcsICAgIDg4fSwJLyog7CAqLwoJeydzJywgJ3MnLCAgICA4OX0sCS8qIN8gKi8KCXsnQScsICdeJywgICAgOTh9LAkvKiDCICovCgl7J0EnLCAnIicsICAgIDk5fSwJLyogxCAqLwoJeydBJywgJ2AnLCAgIDEwMH0sCS8qIMAgKi8KCXsnQScsICdcJycsICAxMDF9LAkvKiDBICovCgl7J0EnLCAnficsICAgMTAyfSwJLyogwyAqLwoJeydBJywgJ0AnLCAgIDEwM30sCS8qIMUgKi8KCXsnQScsICdBJywgICAxMDN9LAkvKiDFICovCgl7J0MnLCAnLCcsICAgMTA0fSwJLyogxyAqLwoJeydOJywgJ34nLCAgIDEwNX0sCS8qINEgKi8KCXsnfCcsICd8JywgICAxMDZ9LAkvKiCmICovCgl7J28nLCAnLycsICAgMTEyfSwJLyog+CAqLwoJeydFJywgJ1wnJywgIDExM30sCS8qIMkgKi8KCXsnRScsICdeJywgICAxMTR9LAkvKiDKICovCgl7J0UnLCAnIicsICAgMTE1fSwJLyogyyAqLwoJeydFJywgJ2AnLCAgIDExNn0sCS8qIMggKi8KCXsnSScsICdcJycsICAxMTd9LAkvKiDNICovCgl7J0knLCAnXicsICAgMTE4fSwJLyogziAqLwoJeydJJywgJyInLCAgIDExOX0sCS8qIM8gKi8KCXsnSScsICdgJywgICAxMjB9LAkvKiDMICovCgl7J08nLCAnLycsICAgMTI4fSwJLyogMC8gWFggKi8KCXsnPCcsICc8JywgICAxMzh9LAkvKiCrICovCgl7Jz4nLCAnPicsICAgMTM5fSwJLyoguyAqLwoJeydkJywgJy0nLCAgIDE0MH0sCS8qIPAgKi8KCXsneScsICdcJycsICAxNDF9LAkvKiD9ICovCgl7J2knLCAncCcsICAgMTQyfSwJLyog/iAqLwoJeycrJywgJy0nLCAgIDE0M30sCS8qILEgKi8KCXsnficsICdvJywgICAxNDR9LAkvKiCwICovCgl7J2EnLCAnLScsICAgMTU0fSwJLyogqiAqLwoJeydvJywgJy0nLCAgIDE1NX0sCS8qILogKi8KCXsnYScsICdlJywgICAxNTZ9LAkvKiDmICovCgl7JywnLCAnLCcsICAgMTU3fSwJLyogLCBYWCAqLwoJeydBJywgJ0UnLCAgIDE1OH0sCS8qIMYgKi8KCXsnbycsICd4JywgICAxNTl9LAkvKiCkIC0gY3VycmVuY3kgc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KCXsnZScsICc9JywgICAxNTl9LAkvKiCkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KCXsnaicsICd1JywgICAxNjB9LAkvKiC1ICovCgl7J3knLCAnIicsICAgMTY3fSwJLyogeCBYWCAqLwoJeyd+JywgJyEnLCAgIDE3MH0sCS8qIKEgKi8KCXsnficsICc/JywgICAxNzF9LAkvKiC/ICovCgl7J0QnLCAnLScsICAgMTcyfSwJLyog0CAqLwoJeydJJywgJ3AnLCAgIDE3NH0sCS8qIN4gKi8KCXsncicsICdPJywgICAxNzV9LAkvKiCuICovCgl7Jy0nLCAnLCcsICAgMTc2fSwJLyogrCAqLwoJeyckJywgJyQnLCAgIDE3N30sCS8qIKMgKi8KCXsnWScsICctJywgICAxNzh9LAkvKiClICovCgl7J34nLCAnLicsICAgMTc5fSwJLyogtyAqLwoJeydjJywgJ08nLCAgIDE4MH0sCS8qIKkgKi8KCXsncCcsICdhJywgICAxODF9LAkvKiCnICovCgl7J3AnLCAncCcsICAgMTgyfSwJLyogtiAqLwoJeycxJywgJzQnLCAgIDE4M30sCS8qILwgKi8KCXsnMScsICcyJywgICAxODR9LAkvKiC9ICovCgl7JzMnLCAnNCcsICAgMTg1fSwJLyogviAqLwoJeydZJywgJ1wnJywgIDE4Nn0sCS8qIN0gKi8KCXsnIicsICciJywgICAxODd9LAkvKiCoICovCgl7Jy0nLCAnPScsICAgMTg4fSwJLyogryAqLwoJeydcJycsICdcJycsIDE5MH0sCS8qILQgKi8KCXsnTycsICdFJywgICAxOTF9LAkvKiDXIC0gT0UgaW4gSVNPIDg4NTktMTUgKi8KCXsnLycsICdcXCcsICAxOTF9LAkvKiDXIC0gbXVsdGlwbGljYXRpb24gc3ltYm9sIGluIElTTyA4ODU5LTEgKi8KCXsnLScsICctJywgICAyMDJ9LAkvKiCtICovCgl7J28nLCAnXicsICAgMjAzfSwJLyog9CAqLwoJeydvJywgJyInLCAgIDIwNH0sCS8qIPYgKi8KCXsnbycsICdgJywgICAyMDV9LAkvKiDyICovCgl7J28nLCAnXCcnLCAgMjA2fSwJLyog8yAqLwoJeydvJywgJ34nLCAgIDIwN30sCS8qIPUgKi8KCXsnMScsICcxJywgICAyMTh9LAkvKiC5ICovCgl7J3UnLCAnXicsICAgMjE5fSwJLyog+yAqLwoJeyd1JywgJyInLCAgIDIyMH0sCS8qIPwgKi8KCXsndScsICdgJywgICAyMjF9LAkvKiD5ICovCgl7J3UnLCAnXCcnLCAgMjIyfSwJLyog+iAqLwoJeyc6JywgJy0nLCAgIDIyNX0sCS8qIPcgLSBkaXZpc2lvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLwoJeydvJywgJ2UnLCAgIDIyNX0sCS8qIPcgLSBvZSBpbiBJU08gODg1OS0xNSAqLwoJeycyJywgJzInLCAgIDIzNH0sCS8qILIgKi8KCXsnTycsICdeJywgICAyMzV9LAkvKiDUICovCgl7J08nLCAnIicsICAgMjM2fSwJLyog1iAqLwoJeydPJywgJ2AnLCAgIDIzN30sCS8qINIgKi8KCXsnTycsICdcJycsICAyMzh9LAkvKiDTICovCgl7J08nLCAnficsICAgMjM5fSwJLyog1SAqLwoJeyczJywgJzMnLCAgIDI1MH0sCS8qILMgKi8KCXsnVScsICdeJywgICAyNTF9LAkvKiDbICovCgl7J1UnLCAnIicsICAgMjUyfSwJLyog3CAqLwoJeydVJywgJ2AnLCAgIDI1M30sCS8qINkgKi8KCXsnVScsICdcJycsICAyNTR9LAkvKiDaICovCgl7TlVMLCBOVUwsIE5VTH0KCX07CgojICAgZWxzZQojICAgIGlmIGRlZmluZWQoTUFDT1MpICYmICFkZWZpbmVkKEZFQVRfTUJZVEUpCgoJLyoKCSAqIE1hY2ludG9zaCBkaWdyYXBocwoJICovCiAgICAgICB7eydhJywgJ3QnLCA2NH0sCQkvKiBAICovCgl7J0EnLCAnIicsIDEyOH0sCS8qIH5AIFhYICovCgl7J0EnLCAnbycsIDEyOX0sCS8qIMUgKi8KCXsnQycsICcsJywgMTMwfSwJLyogxyAqLwoJeydFJywgJ1wnJywgMTMxfSwJLyogySAqLwoJeydOJywgJ34nLCAxMzJ9LAkvKiDRICovCgl7J08nLCAnIicsIDEzM30sCS8qINYgKi8KCXsnVScsICciJywgMTM0fSwJLyog3CAqLwoJeydhJywgJ1wnJywgMTM1fSwJLyogfkcgWFggKi8KCXsnYScsICdgJywgMTM2fSwJLyogfkggWFggKi8KCXsnYScsICdeJywgMTM3fSwJLyog4iAqLwoJeydhJywgJyInLCAxMzh9LAkvKiDkICovCgl7J2EnLCAnficsIDEzOX0sCS8qIOMgKi8KCXsnYScsICdvJywgMTQwfSwJLyog5SAqLwoJeydjJywgJywnLCAxNDF9LAkvKiDnICovCgl7J2UnLCAnXCcnLCAxNDJ9LAkvKiDpICovCgl7J2UnLCAnYCcsIDE0M30sCS8qIOggKi8KCXsnZScsICdeJywgMTQ0fSwJLyog6iAqLwoJeydlJywgJyInLCAxNDV9LAkvKiDrICovCgl7J2knLCAnXCcnLCAxNDZ9LAkvKiDtICovCgl7J2knLCAnYCcsIDE0N30sCS8qIOwgKi8KCXsnaScsICdeJywgMTQ4fSwJLyog7iAqLwoJeydpJywgJyInLCAxNDl9LAkvKiDvICovCgl7J24nLCAnficsIDE1MH0sCS8qIPEgKi8KCXsnbycsICdcJycsIDE1MX0sCS8qIPMgKi8KCXsnbycsICdgJywgMTUyfSwJLyog8iAqLwoJeydvJywgJ14nLCAxNTN9LAkvKiD0ICovCgl7J28nLCAnIicsIDE1NH0sCS8qIPYgKi8KCXsnbycsICd+JywgMTU1fSwJLyogbyAqLwoJeyd1JywgJ1wnJywgMTU2fSwJLyog+iAqLwoJeyd1JywgJ2AnLCAxNTd9LAkvKiB+XSBYWCAqLwoJeyd1JywgJ14nLCAxNTh9LAkvKiD7ICovCgl7J3UnLCAnIicsIDE1OX0sCS8qIPwgKi8KCXsnKycsICdfJywgMTYwfSwJLyog3SAqLwoJeyd+JywgJ28nLCAxNjF9LAkvKiCwICovCgl7J2MnLCAnfCcsIDE2Mn0sCS8qIKIgKi8KCXsnJCcsICckJywgMTYzfSwJLyogoyAqLwoJeydwJywgJ2EnLCAxNjR9LAkvKiCnICovCgl7Jy4nLCAnLicsIDE2NX0sCS8qICogKi8KCXsnUCcsICdQJywgMTY2fSwJLyogtiAqLwoJeydzJywgJ3MnLCAxNjd9LAkvKiDfICovCgl7J3InLCAnTycsIDE2OH0sCS8qIK4gKi8KCXsnYycsICdPJywgMTY5fSwJLyogqSAqLwoJeydUJywgJ00nLCAxNzB9LAkvKiCBICovCgl7Jz0nLCAnLycsIDE3M30sCS8qIIIgKi8KCXsnQScsICdFJywgMTc0fSwJLyogxiAqLwoJeydPJywgJy8nLCAxNzV9LAkvKiDYICovCgl7JzAnLCAnMCcsIDE3Nn0sCS8qIIMgKi8KCXsnKycsICctJywgMTc3fSwJLyogsSAqLwoJeyc8JywgJz0nLCAxNzh9LAkvKiC+ICovCgl7Jz4nLCAnPScsIDE3OX0sCS8qIIQgKi8KCXsnWScsICctJywgMTgwfSwJLyogpSAqLwoJeydqJywgJ3UnLCAxODF9LAkvKiC1ICovCgl7J20nLCAndScsIDE4MX0sCS8qILUgKi8KCXsnZCcsICdkJywgMTgyfSwJLyogjyAqLwoJeydTJywgJ1MnLCAxODN9LAkvKiCFICovCgl7J1MnLCAnSScsIDE4M30sCS8qIIUgKi8KCXsnUCcsICdJJywgMTg0fSwJLyogvSAqLwoJeydwJywgJ2knLCAxODV9LAkvKiC8ICovCgl7J0knLCAnSScsIDE4Nn0sCS8qIIYgKi8KCXsnYScsICctJywgMTg3fSwJLyoguyAqLwoJeydvJywgJy0nLCAxODh9LAkvKiC6ICovCgl7J08nLCAnTScsIDE4OX0sCS8qIL0gKi8KCXsnYScsICdlJywgMTkwfSwJLyog5iAqLwoJeydvJywgJy8nLCAxOTF9LAkvKiD4ICovCgl7J34nLCAnPycsIDE5Mn0sCS8qIL8gKi8KCXsnficsICchJywgMTkzfSwJLyogoSAqLwoJeyctJywgJywnLCAxOTR9LAkvKiCsICovCgl7J3YnLCAnLScsIDE5NX0sCS8qIH5IIFhYICovCgl7J2YnLCAnLScsIDE5Nn0sCS8qIJ8gKi8KCXsnficsICd+JywgMTk3fSwJLyogiSAqLwoJeydEJywgJ0UnLCAxOTh9LAkvKiCQICovCgl7JzwnLCAnPCcsIDE5OX0sCS8qIKsgKi8KCXsnPicsICc+JywgMjAwfSwJLyoguyAqLwoJeycuJywgJzonLCAyMDF9LAkvKiCKICovCgl7J0EnLCAnYCcsIDIwM30sCS8qIMAgKi8KCXsnQScsICd+JywgMjA0fSwJLyogwyAqLwoJeydPJywgJ34nLCAyMDV9LAkvKiDVICovCgl7J08nLCAnRScsIDIwNn0sCS8qIJEgKi8KCXsnbycsICdlJywgMjA3fSwJLyogpiAqLwoJeyctJywgJy4nLCAyMDh9LAkvKiAtICovCgl7Jy0nLCAnLScsIDIwOX0sCS8qIC0gKi8KCXsnYCcsICdgJywgMjEwfSwJLyogIiAqLwoJeydcJycsICdcJycsIDIxMX0sCS8qICIgKi8KCXsnYCcsICcgJywgMjEyfSwJLyogJyAqLwoJeydcJycsICcgJywgMjEzfSwJLyogJyAqLwoJeyctJywgJzonLCAyMTR9LAkvKiD3ICovCgl7J0QnLCAnSScsIDIxNX0sCS8qINcgKi8KCXsneScsICc6JywgMjE2fSwJLyog/yAqLwoJeydZJywgJzonLCAyMTd9LAkvKiCNICovCgl7Jy8nLCAnLycsIDIxOH0sCS8qII4gKi8KCXsnRScsICc9JywgMjE5fSwJLyogpCBFdXJvIFN5c3RlbSA+PTguNSAqLwoJeydvJywgJ3gnLCAyMTl9LAkvKiCkIEN1cnJlbmN5IFN5c3RlbSA8PTguMSovCgl7JzwnLCAnICcsIDIyMH0sCS8qINAgKi8KCXsnPicsICcgJywgMjIxfSwJLyog8CAqLwoJeydmJywgJ2knLCAyMjJ9LAkvKiDeICovCgl7J2YnLCAnbCcsIDIyM30sCS8qIP4gKi8KCXsnKycsICcrJywgMjI0fSwJLyog/SAqLwoJeyd+JywgJy4nLCAyMjV9LAkvKiC3ICovCgl7JywnLCAnICcsIDIyNn0sCS8qIJIgKi8KCXsnLCcsICcsJywgMjI3fSwJLyogkyAqLwoJeyclJywgJy4nLCAyMjh9LAkvKiCUICovCgl7JyUnLCAnMCcsIDIyOH0sCS8qIJQgKi8KCXsnQScsICdeJywgMjI5fSwJLyogwiAqLwoJeydFJywgJ14nLCAyMzB9LAkvKiDKICovCgl7J0EnLCAnXCcnLCAyMzF9LAkvKiDBICovCgl7J0UnLCAnIicsIDIzMn0sCS8qIMsgKi8KCXsnRScsICdgJywgMjMzfSwJLyogyCAqLwoJeydJJywgJ1wnJywgMjM0fSwJLyogzSAqLwoJeydJJywgJ14nLCAyMzV9LAkvKiDOICovCgl7J0knLCAnIicsIDIzNn0sCS8qIM8gKi8KCXsnSScsICdgJywgMjM3fSwJLyogzCAqLwoJeydPJywgJ1wnJywgMjM4fSwJLyog0yAqLwoJeydPJywgJ14nLCAyMzl9LAkvKiDUICovCgl7J0EnLCAnUCcsIDI0MH0sCS8qIJUgKi8KCXsnTycsICdgJywgMjQxfSwJLyog0iAqLwoJeydVJywgJ1wnJywgMjQyfSwJLyog2iAqLwoJeydVJywgJ14nLCAyNDN9LAkvKiDbICovCgl7J1UnLCAnYCcsIDI0NH0sCS8qINkgKi8KCXsnaScsICcuJywgMjQ1fSwJLyogniAqLwoJe05VTCwgTlVMLCBOVUx9Cgl9OwoKIyAgICBlbHNlCS8qICFNQUNPUyAqLwoKIyAgICAgaWZkZWYgT0xEX0RJR1JBUEhTCgoJLyoKCSAqIGRpZ3JhcGhzIGNvbXBhdGlibGUgd2l0aCBWaW0gNS54CgkgKi8KICAgICAgIHt7J34nLCAnIScsIDE2MX0sCS8qIKEgKi8KCXsnYycsICd8JywgMTYyfSwJLyogoiAqLwoJeyckJywgJyQnLCAxNjN9LAkvKiCjICovCgl7J28nLCAneCcsIDE2NH0sCS8qIKQgLSBjdXJyZW5jeSBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLwoJeydlJywgJz0nLCAxNjR9LAkvKiCkIC0gZXVybyBzeW1ib2wgaW4gSVNPIDg4NTktMTUgKi8KCXsnWScsICctJywgMTY1fSwJLyogpSAqLwoJeyd8JywgJ3wnLCAxNjZ9LAkvKiCmICovCgl7J3AnLCAnYScsIDE2N30sCS8qIKcgKi8KCXsnIicsICciJywgMTY4fSwJLyogqCAqLwoJeydjJywgJ08nLCAxNjl9LAkvKiCpICovCgl7J2EnLCAnLScsIDE3MH0sCS8qIKogKi8KCXsnPCcsICc8JywgMTcxfSwJLyogqyAqLwoJeyctJywgJywnLCAxNzJ9LAkvKiCsICovCgl7Jy0nLCAnLScsIDE3M30sCS8qIK0gKi8KCXsncicsICdPJywgMTc0fSwJLyogriAqLwoJeyctJywgJz0nLCAxNzV9LAkvKiCvICovCgl7J34nLCAnbycsIDE3Nn0sCS8qILAgKi8KCXsnKycsICctJywgMTc3fSwJLyogsSAqLwoJeycyJywgJzInLCAxNzh9LAkvKiCyICovCgl7JzMnLCAnMycsIDE3OX0sCS8qILMgKi8KCXsnXCcnLCAnXCcnLCAxODB9LAkvKiC0ICovCgl7J2onLCAndScsIDE4MX0sCS8qILUgKi8KCXsncCcsICdwJywgMTgyfSwJLyogtiAqLwoJeyd+JywgJy4nLCAxODN9LAkvKiC3ICovCgl7JywnLCAnLCcsIDE4NH0sCS8qILggKi8KCXsnMScsICcxJywgMTg1fSwJLyoguSAqLwoJeydvJywgJy0nLCAxODZ9LAkvKiC6ICovCgl7Jz4nLCAnPicsIDE4N30sCS8qILsgKi8KCXsnMScsICc0JywgMTg4fSwJLyogvCAqLwoJeycxJywgJzInLCAxODl9LAkvKiC9ICovCgl7JzMnLCAnNCcsIDE5MH0sCS8qIL4gKi8KCXsnficsICc/JywgMTkxfSwJLyogvyAqLwoJeydBJywgJ2AnLCAxOTJ9LAkvKiDAICovCgl7J0EnLCAnXCcnLCAxOTN9LAkvKiDBICovCgl7J0EnLCAnXicsIDE5NH0sCS8qIMIgKi8KCXsnQScsICd+JywgMTk1fSwJLyogwyAqLwoJeydBJywgJyInLCAxOTZ9LAkvKiDEICovCgl7J0EnLCAnQCcsIDE5N30sCS8qIMUgKi8KCXsnQScsICdBJywgMTk3fSwJLyogxSAqLwoJeydBJywgJ0UnLCAxOTh9LAkvKiDGICovCgl7J0MnLCAnLCcsIDE5OX0sCS8qIMcgKi8KCXsnRScsICdgJywgMjAwfSwJLyogyCAqLwoJeydFJywgJ1wnJywgMjAxfSwJLyogySAqLwoJeydFJywgJ14nLCAyMDJ9LAkvKiDKICovCgl7J0UnLCAnIicsIDIwM30sCS8qIMsgKi8KCXsnSScsICdgJywgMjA0fSwJLyogzCAqLwoJeydJJywgJ1wnJywgMjA1fSwJLyogzSAqLwoJeydJJywgJ14nLCAyMDZ9LAkvKiDOICovCgl7J0knLCAnIicsIDIwN30sCS8qIM8gKi8KCXsnRCcsICctJywgMjA4fSwJLyog0CAqLwoJeydOJywgJ34nLCAyMDl9LAkvKiDRICovCgl7J08nLCAnYCcsIDIxMH0sCS8qINIgKi8KCXsnTycsICdcJycsIDIxMX0sCS8qINMgKi8KCXsnTycsICdeJywgMjEyfSwJLyog1CAqLwoJeydPJywgJ34nLCAyMTN9LAkvKiDVICovCgl7J08nLCAnIicsIDIxNH0sCS8qINYgKi8KCXsnLycsICdcXCcsIDIxNX0sCS8qINcgLSBtdWx0aXBsaWNhdGlvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLwoJeydPJywgJ0UnLCAyMTV9LAkvKiDXIC0gT0UgaW4gSVNPIDg4NTktMTUgKi8KCXsnTycsICcvJywgMjE2fSwJLyog2CAqLwoJeydVJywgJ2AnLCAyMTd9LAkvKiDZICovCgl7J1UnLCAnXCcnLCAyMTh9LAkvKiDaICovCgl7J1UnLCAnXicsIDIxOX0sCS8qINsgKi8KCXsnVScsICciJywgMjIwfSwJLyog3CAqLwoJeydZJywgJ1wnJywgMjIxfSwJLyog3SAqLwoJeydJJywgJ3AnLCAyMjJ9LAkvKiDeICovCgl7J3MnLCAncycsIDIyM30sCS8qIN8gKi8KCXsnYScsICdgJywgMjI0fSwJLyog4CAqLwoJeydhJywgJ1wnJywgMjI1fSwJLyog4SAqLwoJeydhJywgJ14nLCAyMjZ9LAkvKiDiICovCgl7J2EnLCAnficsIDIyN30sCS8qIOMgKi8KCXsnYScsICciJywgMjI4fSwJLyog5CAqLwoJeydhJywgJ0AnLCAyMjl9LAkvKiDlICovCgl7J2EnLCAnYScsIDIyOX0sCS8qIOUgKi8KCXsnYScsICdlJywgMjMwfSwJLyog5iAqLwoJeydjJywgJywnLCAyMzF9LAkvKiDnICovCgl7J2UnLCAnYCcsIDIzMn0sCS8qIOggKi8KCXsnZScsICdcJycsIDIzM30sCS8qIOkgKi8KCXsnZScsICdeJywgMjM0fSwJLyog6iAqLwoJeydlJywgJyInLCAyMzV9LAkvKiDrICovCgl7J2knLCAnYCcsIDIzNn0sCS8qIOwgKi8KCXsnaScsICdcJycsIDIzN30sCS8qIO0gKi8KCXsnaScsICdeJywgMjM4fSwJLyog7iAqLwoJeydpJywgJyInLCAyMzl9LAkvKiDvICovCgl7J2QnLCAnLScsIDI0MH0sCS8qIPAgKi8KCXsnbicsICd+JywgMjQxfSwJLyog8SAqLwoJeydvJywgJ2AnLCAyNDJ9LAkvKiDyICovCgl7J28nLCAnXCcnLCAyNDN9LAkvKiDzICovCgl7J28nLCAnXicsIDI0NH0sCS8qIPQgKi8KCXsnbycsICd+JywgMjQ1fSwJLyog9SAqLwoJeydvJywgJyInLCAyNDZ9LAkvKiD2ICovCgl7JzonLCAnLScsIDI0N30sCS8qIPcgLSBkaXZpc2lvbiBzeW1ib2wgaW4gSVNPIDg4NTktMSAqLwoJeydvJywgJ2UnLCAyNDd9LAkvKiD3IC0gb2UgaW4gSVNPIDg4NTktMTUgKi8KCXsnbycsICcvJywgMjQ4fSwJLyog+CAqLwoJeyd1JywgJ2AnLCAyNDl9LAkvKiD5ICovCgl7J3UnLCAnXCcnLCAyNTB9LAkvKiD6ICovCgl7J3UnLCAnXicsIDI1MX0sCS8qIPsgKi8KCXsndScsICciJywgMjUyfSwJLyog/CAqLwoJeyd5JywgJ1wnJywgMjUzfSwJLyog/SAqLwoJeydpJywgJ3AnLCAyNTR9LAkvKiD+ICovCgl7J3knLCAnIicsIDI1NX0sCS8qIHggWFggKi8KCXtOVUwsIE5VTCwgTlVMfQoJfTsKIyAgICAgZWxzZSAvKiBPTERfRElHUkFQSFMgKi8KCgkvKgoJICogZGlncmFwaHMgZm9yIFVuaWNvZGUgZnJvbSBSRkMxMzQ1CgkgKiAoYWxzbyB3b3JrIGZvciBJU08tODg1OS0xIGFrYSBsYXRpbjEpCgkgKi8KICAgICAgIHsKCXsnTicsICdVJywgMHgwYX0sCS8qIExGIGZvciBOVUwgKi8KCXsnUycsICdIJywgMHgwMX0sCgl7J1MnLCAnWCcsIDB4MDJ9LAoJeydFJywgJ1gnLCAweDAzfSwKCXsnRScsICdUJywgMHgwNH0sCgl7J0UnLCAnUScsIDB4MDV9LAoJeydBJywgJ0snLCAweDA2fSwKCXsnQicsICdMJywgMHgwN30sCgl7J0InLCAnUycsIDB4MDh9LAoJeydIJywgJ1QnLCAweDA5fSwKCXsnTCcsICdGJywgMHgwYX0sCgl7J1YnLCAnVCcsIDB4MGJ9LAoJeydGJywgJ0YnLCAweDBjfSwKCXsnQycsICdSJywgMHgwZH0sCgl7J1MnLCAnTycsIDB4MGV9LAoJeydTJywgJ0knLCAweDBmfSwKCXsnRCcsICdMJywgMHgxMH0sCgl7J0QnLCAnMScsIDB4MTF9LAoJeydEJywgJzInLCAweDEyfSwKCXsnRCcsICczJywgMHgxM30sCgl7J0QnLCAnNCcsIDB4MTR9LAoJeydOJywgJ0snLCAweDE1fSwKCXsnUycsICdZJywgMHgxNn0sCgl7J0UnLCAnQicsIDB4MTd9LAoJeydDJywgJ04nLCAweDE4fSwKCXsnRScsICdNJywgMHgxOX0sCgl7J1MnLCAnQicsIDB4MWF9LAoJeydFJywgJ0MnLCAweDFifSwKCXsnRicsICdTJywgMHgxY30sCgl7J0cnLCAnUycsIDB4MWR9LAoJeydSJywgJ1MnLCAweDFlfSwKCXsnVScsICdTJywgMHgxZn0sCgl7J1MnLCAnUCcsIDB4MjB9LAoJeydOJywgJ2InLCAweDIzfSwKCXsnRCcsICdPJywgMHgyNH0sCgl7J0EnLCAndCcsIDB4NDB9LAoJeyc8JywgJygnLCAweDVifSwKCXsnLycsICcvJywgMHg1Y30sCgl7JyknLCAnPicsIDB4NWR9LAoJeydcJycsICc+JywgMHg1ZX0sCgl7J1wnJywgJyEnLCAweDYwfSwKCXsnKCcsICchJywgMHg3Yn0sCgl7JyEnLCAnIScsIDB4N2N9LAoJeychJywgJyknLCAweDdkfSwKCXsnXCcnLCAnPycsIDB4N2V9LAoJeydEJywgJ1QnLCAweDdmfSwKCXsnUCcsICdBJywgMHg4MH0sCgl7J0gnLCAnTycsIDB4ODF9LAoJeydCJywgJ0gnLCAweDgyfSwKCXsnTicsICdIJywgMHg4M30sCgl7J0knLCAnTicsIDB4ODR9LAoJeydOJywgJ0wnLCAweDg1fSwKCXsnUycsICdBJywgMHg4Nn0sCgl7J0UnLCAnUycsIDB4ODd9LAoJeydIJywgJ1MnLCAweDg4fSwKCXsnSCcsICdKJywgMHg4OX0sCgl7J1YnLCAnUycsIDB4OGF9LAoJeydQJywgJ0QnLCAweDhifSwKCXsnUCcsICdVJywgMHg4Y30sCgl7J1InLCAnSScsIDB4OGR9LAoJeydTJywgJzInLCAweDhlfSwKCXsnUycsICczJywgMHg4Zn0sCgl7J0QnLCAnQycsIDB4OTB9LAoJeydQJywgJzEnLCAweDkxfSwKCXsnUCcsICcyJywgMHg5Mn0sCgl7J1QnLCAnUycsIDB4OTN9LAoJeydDJywgJ0MnLCAweDk0fSwKCXsnTScsICdXJywgMHg5NX0sCgl7J1MnLCAnRycsIDB4OTZ9LAoJeydFJywgJ0cnLCAweDk3fSwKCXsnUycsICdTJywgMHg5OH0sCgl7J0cnLCAnQycsIDB4OTl9LAoJeydTJywgJ0MnLCAweDlhfSwKCXsnQycsICdJJywgMHg5Yn0sCgl7J1MnLCAnVCcsIDB4OWN9LAoJeydPJywgJ0MnLCAweDlkfSwKCXsnUCcsICdNJywgMHg5ZX0sCgl7J0EnLCAnQycsIDB4OWZ9LAoJeydOJywgJ1MnLCAweGEwfSwKCXsnIScsICdJJywgMHhhMX0sCgl7J0MnLCAndCcsIDB4YTJ9LAoJeydQJywgJ2QnLCAweGEzfSwKCXsnQycsICd1JywgMHhhNH0sCgl7J1knLCAnZScsIDB4YTV9LAoJeydCJywgJ0InLCAweGE2fSwKCXsnUycsICdFJywgMHhhN30sCgl7J1wnJywgJzonLCAweGE4fSwKCXsnQycsICdvJywgMHhhOX0sCgl7Jy0nLCAnYScsIDB4YWF9LAoJeyc8JywgJzwnLCAweGFifSwKCXsnTicsICdPJywgMHhhY30sCgl7Jy0nLCAnLScsIDB4YWR9LAoJeydSJywgJ2cnLCAweGFlfSwKCXsnXCcnLCAnbScsIDB4YWZ9LAoJeydEJywgJ0cnLCAweGIwfSwKCXsnKycsICctJywgMHhiMX0sCgl7JzInLCAnUycsIDB4YjJ9LAoJeyczJywgJ1MnLCAweGIzfSwKCXsnXCcnLCAnXCcnLCAweGI0fSwKCXsnTScsICd5JywgMHhiNX0sCgl7J1AnLCAnSScsIDB4YjZ9LAoJeycuJywgJ00nLCAweGI3fSwKCXsnXCcnLCAnLCcsIDB4Yjh9LAoJeycxJywgJ1MnLCAweGI5fSwKCXsnLScsICdvJywgMHhiYX0sCgl7Jz4nLCAnPicsIDB4YmJ9LAoJeycxJywgJzQnLCAweGJjfSwKCXsnMScsICcyJywgMHhiZH0sCgl7JzMnLCAnNCcsIDB4YmV9LAoJeyc/JywgJ0knLCAweGJmfSwKCXsnQScsICchJywgMHhjMH0sCgl7J0EnLCAnXCcnLCAweGMxfSwKCXsnQScsICc+JywgMHhjMn0sCgl7J0EnLCAnPycsIDB4YzN9LAoJeydBJywgJzonLCAweGM0fSwKCXsnQScsICdBJywgMHhjNX0sCgl7J0EnLCAnRScsIDB4YzZ9LAoJeydDJywgJywnLCAweGM3fSwKCXsnRScsICchJywgMHhjOH0sCgl7J0UnLCAnXCcnLCAweGM5fSwKCXsnRScsICc+JywgMHhjYX0sCgl7J0UnLCAnOicsIDB4Y2J9LAoJeydJJywgJyEnLCAweGNjfSwKCXsnSScsICdcJycsIDB4Y2R9LAoJeydJJywgJz4nLCAweGNlfSwKCXsnSScsICc6JywgMHhjZn0sCgl7J0QnLCAnLScsIDB4ZDB9LAoJeydOJywgJz8nLCAweGQxfSwKCXsnTycsICchJywgMHhkMn0sCgl7J08nLCAnXCcnLCAweGQzfSwKCXsnTycsICc+JywgMHhkNH0sCgl7J08nLCAnPycsIDB4ZDV9LAoJeydPJywgJzonLCAweGQ2fSwKCXsnKicsICdYJywgMHhkN30sCgl7J08nLCAnLycsIDB4ZDh9LAoJeydVJywgJyEnLCAweGQ5fSwKCXsnVScsICdcJycsIDB4ZGF9LAoJeydVJywgJz4nLCAweGRifSwKCXsnVScsICc6JywgMHhkY30sCgl7J1knLCAnXCcnLCAweGRkfSwKCXsnVCcsICdIJywgMHhkZX0sCgl7J3MnLCAncycsIDB4ZGZ9LAoJeydhJywgJyEnLCAweGUwfSwKCXsnYScsICdcJycsIDB4ZTF9LAoJeydhJywgJz4nLCAweGUyfSwKCXsnYScsICc/JywgMHhlM30sCgl7J2EnLCAnOicsIDB4ZTR9LAoJeydhJywgJ2EnLCAweGU1fSwKCXsnYScsICdlJywgMHhlNn0sCgl7J2MnLCAnLCcsIDB4ZTd9LAoJeydlJywgJyEnLCAweGU4fSwKCXsnZScsICdcJycsIDB4ZTl9LAoJeydlJywgJz4nLCAweGVhfSwKCXsnZScsICc6JywgMHhlYn0sCgl7J2knLCAnIScsIDB4ZWN9LAoJeydpJywgJ1wnJywgMHhlZH0sCgl7J2knLCAnPicsIDB4ZWV9LAoJeydpJywgJzonLCAweGVmfSwKCXsnZCcsICctJywgMHhmMH0sCgl7J24nLCAnPycsIDB4ZjF9LAoJeydvJywgJyEnLCAweGYyfSwKCXsnbycsICdcJycsIDB4ZjN9LAoJeydvJywgJz4nLCAweGY0fSwKCXsnbycsICc/JywgMHhmNX0sCgl7J28nLCAnOicsIDB4ZjZ9LAoJeyctJywgJzonLCAweGY3fSwKCXsnbycsICcvJywgMHhmOH0sCgl7J3UnLCAnIScsIDB4Zjl9LAoJeyd1JywgJ1wnJywgMHhmYX0sCgl7J3UnLCAnPicsIDB4ZmJ9LAoJeyd1JywgJzonLCAweGZjfSwKCXsneScsICdcJycsIDB4ZmR9LAoJeyd0JywgJ2gnLCAweGZlfSwKCXsneScsICc6JywgMHhmZn0sCgojICAgICAgaWZkZWYgRkVBVF9NQllURQojCWRlZmluZSBVU0VfVU5JQ09ERV9ESUdSQVBIUwoKCXsnQScsICctJywgMHgwMTAwfSwKCXsnYScsICctJywgMHgwMTAxfSwKCXsnQScsICcoJywgMHgwMTAyfSwKCXsnYScsICcoJywgMHgwMTAzfSwKCXsnQScsICc7JywgMHgwMTA0fSwKCXsnYScsICc7JywgMHgwMTA1fSwKCXsnQycsICdcJycsIDB4MDEwNn0sCgl7J2MnLCAnXCcnLCAweDAxMDd9LAoJeydDJywgJz4nLCAweDAxMDh9LAoJeydjJywgJz4nLCAweDAxMDl9LAoJeydDJywgJy4nLCAweDAxMGF9LAoJeydjJywgJy4nLCAweDAxMGJ9LAoJeydDJywgJzwnLCAweDAxMGN9LAoJeydjJywgJzwnLCAweDAxMGR9LAoJeydEJywgJzwnLCAweDAxMGV9LAoJeydkJywgJzwnLCAweDAxMGZ9LAoJeydEJywgJy8nLCAweDAxMTB9LAoJeydkJywgJy8nLCAweDAxMTF9LAoJeydFJywgJy0nLCAweDAxMTJ9LAoJeydlJywgJy0nLCAweDAxMTN9LAoJeydFJywgJygnLCAweDAxMTR9LAoJeydlJywgJygnLCAweDAxMTV9LAoJeydFJywgJy4nLCAweDAxMTZ9LAoJeydlJywgJy4nLCAweDAxMTd9LAoJeydFJywgJzsnLCAweDAxMTh9LAoJeydlJywgJzsnLCAweDAxMTl9LAoJeydFJywgJzwnLCAweDAxMWF9LAoJeydlJywgJzwnLCAweDAxMWJ9LAoJeydHJywgJz4nLCAweDAxMWN9LAoJeydnJywgJz4nLCAweDAxMWR9LAoJeydHJywgJygnLCAweDAxMWV9LAoJeydnJywgJygnLCAweDAxMWZ9LAoJeydHJywgJy4nLCAweDAxMjB9LAoJeydnJywgJy4nLCAweDAxMjF9LAoJeydHJywgJywnLCAweDAxMjJ9LAoJeydnJywgJywnLCAweDAxMjN9LAoJeydIJywgJz4nLCAweDAxMjR9LAoJeydoJywgJz4nLCAweDAxMjV9LAoJeydIJywgJy8nLCAweDAxMjZ9LAoJeydoJywgJy8nLCAweDAxMjd9LAoJeydJJywgJz8nLCAweDAxMjh9LAoJeydpJywgJz8nLCAweDAxMjl9LAoJeydJJywgJy0nLCAweDAxMmF9LAoJeydpJywgJy0nLCAweDAxMmJ9LAoJeydJJywgJygnLCAweDAxMmN9LAoJeydpJywgJygnLCAweDAxMmR9LAoJeydJJywgJzsnLCAweDAxMmV9LAoJeydpJywgJzsnLCAweDAxMmZ9LAoJeydJJywgJy4nLCAweDAxMzB9LAoJeydpJywgJy4nLCAweDAxMzF9LAoJeydJJywgJ0onLCAweDAxMzJ9LAoJeydpJywgJ2onLCAweDAxMzN9LAoJeydKJywgJz4nLCAweDAxMzR9LAoJeydqJywgJz4nLCAweDAxMzV9LAoJeydLJywgJywnLCAweDAxMzZ9LAoJeydrJywgJywnLCAweDAxMzd9LAoJeydrJywgJ2snLCAweDAxMzh9LAoJeydMJywgJ1wnJywgMHgwMTM5fSwKCXsnbCcsICdcJycsIDB4MDEzYX0sCgl7J0wnLCAnLCcsIDB4MDEzYn0sCgl7J2wnLCAnLCcsIDB4MDEzY30sCgl7J0wnLCAnPCcsIDB4MDEzZH0sCgl7J2wnLCAnPCcsIDB4MDEzZX0sCgl7J0wnLCAnLicsIDB4MDEzZn0sCgl7J2wnLCAnLicsIDB4MDE0MH0sCgl7J0wnLCAnLycsIDB4MDE0MX0sCgl7J2wnLCAnLycsIDB4MDE0Mn0sCgl7J04nLCAnXCcnLCAweDAxNDN9LAoJeyduJywgJ1wnJywgMHgwMTQ0fSwKCXsnTicsICcsJywgMHgwMTQ1fSwKCXsnbicsICcsJywgMHgwMTQ2fSwKCXsnTicsICc8JywgMHgwMTQ3fSwKCXsnbicsICc8JywgMHgwMTQ4fSwKCXsnXCcnLCAnbicsIDB4MDE0OX0sCgl7J04nLCAnRycsIDB4MDE0YX0sCgl7J24nLCAnZycsIDB4MDE0Yn0sCgl7J08nLCAnLScsIDB4MDE0Y30sCgl7J28nLCAnLScsIDB4MDE0ZH0sCgl7J08nLCAnKCcsIDB4MDE0ZX0sCgl7J28nLCAnKCcsIDB4MDE0Zn0sCgl7J08nLCAnIicsIDB4MDE1MH0sCgl7J28nLCAnIicsIDB4MDE1MX0sCgl7J08nLCAnRScsIDB4MDE1Mn0sCgl7J28nLCAnZScsIDB4MDE1M30sCgl7J1InLCAnXCcnLCAweDAxNTR9LAoJeydyJywgJ1wnJywgMHgwMTU1fSwKCXsnUicsICcsJywgMHgwMTU2fSwKCXsncicsICcsJywgMHgwMTU3fSwKCXsnUicsICc8JywgMHgwMTU4fSwKCXsncicsICc8JywgMHgwMTU5fSwKCXsnUycsICdcJycsIDB4MDE1YX0sCgl7J3MnLCAnXCcnLCAweDAxNWJ9LAoJeydTJywgJz4nLCAweDAxNWN9LAoJeydzJywgJz4nLCAweDAxNWR9LAoJeydTJywgJywnLCAweDAxNWV9LAoJeydzJywgJywnLCAweDAxNWZ9LAoJeydTJywgJzwnLCAweDAxNjB9LAoJeydzJywgJzwnLCAweDAxNjF9LAoJeydUJywgJywnLCAweDAxNjJ9LAoJeyd0JywgJywnLCAweDAxNjN9LAoJeydUJywgJzwnLCAweDAxNjR9LAoJeyd0JywgJzwnLCAweDAxNjV9LAoJeydUJywgJy8nLCAweDAxNjZ9LAoJeyd0JywgJy8nLCAweDAxNjd9LAoJeydVJywgJz8nLCAweDAxNjh9LAoJeyd1JywgJz8nLCAweDAxNjl9LAoJeydVJywgJy0nLCAweDAxNmF9LAoJeyd1JywgJy0nLCAweDAxNmJ9LAoJeydVJywgJygnLCAweDAxNmN9LAoJeyd1JywgJygnLCAweDAxNmR9LAoJeydVJywgJzAnLCAweDAxNmV9LAoJeyd1JywgJzAnLCAweDAxNmZ9LAoJeydVJywgJyInLCAweDAxNzB9LAoJeyd1JywgJyInLCAweDAxNzF9LAoJeydVJywgJzsnLCAweDAxNzJ9LAoJeyd1JywgJzsnLCAweDAxNzN9LAoJeydXJywgJz4nLCAweDAxNzR9LAoJeyd3JywgJz4nLCAweDAxNzV9LAoJeydZJywgJz4nLCAweDAxNzZ9LAoJeyd5JywgJz4nLCAweDAxNzd9LAoJeydZJywgJzonLCAweDAxNzh9LAoJeydaJywgJ1wnJywgMHgwMTc5fSwKCXsneicsICdcJycsIDB4MDE3YX0sCgl7J1onLCAnLicsIDB4MDE3Yn0sCgl7J3onLCAnLicsIDB4MDE3Y30sCgl7J1onLCAnPCcsIDB4MDE3ZH0sCgl7J3onLCAnPCcsIDB4MDE3ZX0sCgl7J08nLCAnOScsIDB4MDFhMH0sCgl7J28nLCAnOScsIDB4MDFhMX0sCgl7J08nLCAnSScsIDB4MDFhMn0sCgl7J28nLCAnaScsIDB4MDFhM30sCgl7J3knLCAncicsIDB4MDFhNn0sCgl7J1UnLCAnOScsIDB4MDFhZn0sCgl7J3UnLCAnOScsIDB4MDFiMH0sCgl7J1onLCAnLycsIDB4MDFiNX0sCgl7J3onLCAnLycsIDB4MDFiNn0sCgl7J0UnLCAnRCcsIDB4MDFiN30sCgl7J0EnLCAnPCcsIDB4MDFjZH0sCgl7J2EnLCAnPCcsIDB4MDFjZX0sCgl7J0knLCAnPCcsIDB4MDFjZn0sCgl7J2knLCAnPCcsIDB4MDFkMH0sCgl7J08nLCAnPCcsIDB4MDFkMX0sCgl7J28nLCAnPCcsIDB4MDFkMn0sCgl7J1UnLCAnPCcsIDB4MDFkM30sCgl7J3UnLCAnPCcsIDB4MDFkNH0sCgl7J0EnLCAnMScsIDB4MDFkZX0sCgl7J2EnLCAnMScsIDB4MDFkZn0sCgl7J0EnLCAnNycsIDB4MDFlMH0sCgl7J2EnLCAnNycsIDB4MDFlMX0sCgl7J0EnLCAnMycsIDB4MDFlMn0sCgl7J2EnLCAnMycsIDB4MDFlM30sCgl7J0cnLCAnLycsIDB4MDFlNH0sCgl7J2cnLCAnLycsIDB4MDFlNX0sCgl7J0cnLCAnPCcsIDB4MDFlNn0sCgl7J2cnLCAnPCcsIDB4MDFlN30sCgl7J0snLCAnPCcsIDB4MDFlOH0sCgl7J2snLCAnPCcsIDB4MDFlOX0sCgl7J08nLCAnOycsIDB4MDFlYX0sCgl7J28nLCAnOycsIDB4MDFlYn0sCgl7J08nLCAnMScsIDB4MDFlY30sCgl7J28nLCAnMScsIDB4MDFlZH0sCgl7J0UnLCAnWicsIDB4MDFlZX0sCgl7J2UnLCAneicsIDB4MDFlZn0sCgl7J2onLCAnPCcsIDB4MDFmMH0sCgl7J0cnLCAnXCcnLCAweDAxZjR9LAoJeydnJywgJ1wnJywgMHgwMWY1fSwKCXsnOycsICdTJywgMHgwMmJmfSwKCXsnXCcnLCAnPCcsIDB4MDJjN30sCgl7J1wnJywgJygnLCAweDAyZDh9LAoJeydcJycsICcuJywgMHgwMmQ5fSwKCXsnXCcnLCAnMCcsIDB4MDJkYX0sCgl7J1wnJywgJzsnLCAweDAyZGJ9LAoJeydcJycsICciJywgMHgwMmRkfSwKCXsnQScsICclJywgMHgwMzg2fSwKCXsnRScsICclJywgMHgwMzg4fSwKCXsnWScsICclJywgMHgwMzg5fSwKCXsnSScsICclJywgMHgwMzhhfSwKCXsnTycsICclJywgMHgwMzhjfSwKCXsnVScsICclJywgMHgwMzhlfSwKCXsnVycsICclJywgMHgwMzhmfSwKCXsnaScsICczJywgMHgwMzkwfSwKCXsnQScsICcqJywgMHgwMzkxfSwKCXsnQicsICcqJywgMHgwMzkyfSwKCXsnRycsICcqJywgMHgwMzkzfSwKCXsnRCcsICcqJywgMHgwMzk0fSwKCXsnRScsICcqJywgMHgwMzk1fSwKCXsnWicsICcqJywgMHgwMzk2fSwKCXsnWScsICcqJywgMHgwMzk3fSwKCXsnSCcsICcqJywgMHgwMzk4fSwKCXsnSScsICcqJywgMHgwMzk5fSwKCXsnSycsICcqJywgMHgwMzlhfSwKCXsnTCcsICcqJywgMHgwMzlifSwKCXsnTScsICcqJywgMHgwMzljfSwKCXsnTicsICcqJywgMHgwMzlkfSwKCXsnQycsICcqJywgMHgwMzllfSwKCXsnTycsICcqJywgMHgwMzlmfSwKCXsnUCcsICcqJywgMHgwM2EwfSwKCXsnUicsICcqJywgMHgwM2ExfSwKCXsnUycsICcqJywgMHgwM2EzfSwKCXsnVCcsICcqJywgMHgwM2E0fSwKCXsnVScsICcqJywgMHgwM2E1fSwKCXsnRicsICcqJywgMHgwM2E2fSwKCXsnWCcsICcqJywgMHgwM2E3fSwKCXsnUScsICcqJywgMHgwM2E4fSwKCXsnVycsICcqJywgMHgwM2E5fSwKCXsnSicsICcqJywgMHgwM2FhfSwKCXsnVicsICcqJywgMHgwM2FifSwKCXsnYScsICclJywgMHgwM2FjfSwKCXsnZScsICclJywgMHgwM2FkfSwKCXsneScsICclJywgMHgwM2FlfSwKCXsnaScsICclJywgMHgwM2FmfSwKCXsndScsICczJywgMHgwM2IwfSwKCXsnYScsICcqJywgMHgwM2IxfSwKCXsnYicsICcqJywgMHgwM2IyfSwKCXsnZycsICcqJywgMHgwM2IzfSwKCXsnZCcsICcqJywgMHgwM2I0fSwKCXsnZScsICcqJywgMHgwM2I1fSwKCXsneicsICcqJywgMHgwM2I2fSwKCXsneScsICcqJywgMHgwM2I3fSwKCXsnaCcsICcqJywgMHgwM2I4fSwKCXsnaScsICcqJywgMHgwM2I5fSwKCXsnaycsICcqJywgMHgwM2JhfSwKCXsnbCcsICcqJywgMHgwM2JifSwKCXsnbScsICcqJywgMHgwM2JjfSwKCXsnbicsICcqJywgMHgwM2JkfSwKCXsnYycsICcqJywgMHgwM2JlfSwKCXsnbycsICcqJywgMHgwM2JmfSwKCXsncCcsICcqJywgMHgwM2MwfSwKCXsncicsICcqJywgMHgwM2MxfSwKCXsnKicsICdzJywgMHgwM2MyfSwKCXsncycsICcqJywgMHgwM2MzfSwKCXsndCcsICcqJywgMHgwM2M0fSwKCXsndScsICcqJywgMHgwM2M1fSwKCXsnZicsICcqJywgMHgwM2M2fSwKCXsneCcsICcqJywgMHgwM2M3fSwKCXsncScsICcqJywgMHgwM2M4fSwKCXsndycsICcqJywgMHgwM2M5fSwKCXsnaicsICcqJywgMHgwM2NhfSwKCXsndicsICcqJywgMHgwM2NifSwKCXsnbycsICclJywgMHgwM2NjfSwKCXsndScsICclJywgMHgwM2NkfSwKCXsndycsICclJywgMHgwM2NlfSwKCXsnXCcnLCAnRycsIDB4MDNkOH0sCgl7JywnLCAnRycsIDB4MDNkOX0sCgl7J1QnLCAnMycsIDB4MDNkYX0sCgl7J3QnLCAnMycsIDB4MDNkYn0sCgl7J00nLCAnMycsIDB4MDNkY30sCgl7J20nLCAnMycsIDB4MDNkZH0sCgl7J0snLCAnMycsIDB4MDNkZX0sCgl7J2snLCAnMycsIDB4MDNkZn0sCgl7J1AnLCAnMycsIDB4MDNlMH0sCgl7J3AnLCAnMycsIDB4MDNlMX0sCgl7J1wnJywgJyUnLCAweDAzZjR9LAoJeydqJywgJzMnLCAweDAzZjV9LAoJeydJJywgJ08nLCAweDA0MDF9LAoJeydEJywgJyUnLCAweDA0MDJ9LAoJeydHJywgJyUnLCAweDA0MDN9LAoJeydJJywgJ0UnLCAweDA0MDR9LAoJeydEJywgJ1MnLCAweDA0MDV9LAoJeydJJywgJ0knLCAweDA0MDZ9LAoJeydZJywgJ0knLCAweDA0MDd9LAoJeydKJywgJyUnLCAweDA0MDh9LAoJeydMJywgJ0onLCAweDA0MDl9LAoJeydOJywgJ0onLCAweDA0MGF9LAoJeydUJywgJ3MnLCAweDA0MGJ9LAoJeydLJywgJ0onLCAweDA0MGN9LAoJeydWJywgJyUnLCAweDA0MGV9LAoJeydEJywgJ1onLCAweDA0MGZ9LAoJeydBJywgJz0nLCAweDA0MTB9LAoJeydCJywgJz0nLCAweDA0MTF9LAoJeydWJywgJz0nLCAweDA0MTJ9LAoJeydHJywgJz0nLCAweDA0MTN9LAoJeydEJywgJz0nLCAweDA0MTR9LAoJeydFJywgJz0nLCAweDA0MTV9LAoJeydaJywgJyUnLCAweDA0MTZ9LAoJeydaJywgJz0nLCAweDA0MTd9LAoJeydJJywgJz0nLCAweDA0MTh9LAoJeydKJywgJz0nLCAweDA0MTl9LAoJeydLJywgJz0nLCAweDA0MWF9LAoJeydMJywgJz0nLCAweDA0MWJ9LAoJeydNJywgJz0nLCAweDA0MWN9LAoJeydOJywgJz0nLCAweDA0MWR9LAoJeydPJywgJz0nLCAweDA0MWV9LAoJeydQJywgJz0nLCAweDA0MWZ9LAoJeydSJywgJz0nLCAweDA0MjB9LAoJeydTJywgJz0nLCAweDA0MjF9LAoJeydUJywgJz0nLCAweDA0MjJ9LAoJeydVJywgJz0nLCAweDA0MjN9LAoJeydGJywgJz0nLCAweDA0MjR9LAoJeydIJywgJz0nLCAweDA0MjV9LAoJeydDJywgJz0nLCAweDA0MjZ9LAoJeydDJywgJyUnLCAweDA0Mjd9LAoJeydTJywgJyUnLCAweDA0Mjh9LAoJeydTJywgJ2MnLCAweDA0Mjl9LAoJeyc9JywgJyInLCAweDA0MmF9LAoJeydZJywgJz0nLCAweDA0MmJ9LAoJeyclJywgJyInLCAweDA0MmN9LAoJeydKJywgJ0UnLCAweDA0MmR9LAoJeydKJywgJ1UnLCAweDA0MmV9LAoJeydKJywgJ0EnLCAweDA0MmZ9LAoJeydhJywgJz0nLCAweDA0MzB9LAoJeydiJywgJz0nLCAweDA0MzF9LAoJeyd2JywgJz0nLCAweDA0MzJ9LAoJeydnJywgJz0nLCAweDA0MzN9LAoJeydkJywgJz0nLCAweDA0MzR9LAoJeydlJywgJz0nLCAweDA0MzV9LAoJeyd6JywgJyUnLCAweDA0MzZ9LAoJeyd6JywgJz0nLCAweDA0Mzd9LAoJeydpJywgJz0nLCAweDA0Mzh9LAoJeydqJywgJz0nLCAweDA0Mzl9LAoJeydrJywgJz0nLCAweDA0M2F9LAoJeydsJywgJz0nLCAweDA0M2J9LAoJeydtJywgJz0nLCAweDA0M2N9LAoJeyduJywgJz0nLCAweDA0M2R9LAoJeydvJywgJz0nLCAweDA0M2V9LAoJeydwJywgJz0nLCAweDA0M2Z9LAoJeydyJywgJz0nLCAweDA0NDB9LAoJeydzJywgJz0nLCAweDA0NDF9LAoJeyd0JywgJz0nLCAweDA0NDJ9LAoJeyd1JywgJz0nLCAweDA0NDN9LAoJeydmJywgJz0nLCAweDA0NDR9LAoJeydoJywgJz0nLCAweDA0NDV9LAoJeydjJywgJz0nLCAweDA0NDZ9LAoJeydjJywgJyUnLCAweDA0NDd9LAoJeydzJywgJyUnLCAweDA0NDh9LAoJeydzJywgJ2MnLCAweDA0NDl9LAoJeyc9JywgJ1wnJywgMHgwNDRhfSwKCXsneScsICc9JywgMHgwNDRifSwKCXsnJScsICdcJycsIDB4MDQ0Y30sCgl7J2onLCAnZScsIDB4MDQ0ZH0sCgl7J2onLCAndScsIDB4MDQ0ZX0sCgl7J2onLCAnYScsIDB4MDQ0Zn0sCgl7J2knLCAnbycsIDB4MDQ1MX0sCgl7J2QnLCAnJScsIDB4MDQ1Mn0sCgl7J2cnLCAnJScsIDB4MDQ1M30sCgl7J2knLCAnZScsIDB4MDQ1NH0sCgl7J2QnLCAncycsIDB4MDQ1NX0sCgl7J2knLCAnaScsIDB4MDQ1Nn0sCgl7J3knLCAnaScsIDB4MDQ1N30sCgl7J2onLCAnJScsIDB4MDQ1OH0sCgl7J2wnLCAnaicsIDB4MDQ1OX0sCgl7J24nLCAnaicsIDB4MDQ1YX0sCgl7J3QnLCAncycsIDB4MDQ1Yn0sCgl7J2snLCAnaicsIDB4MDQ1Y30sCgl7J3YnLCAnJScsIDB4MDQ1ZX0sCgl7J2QnLCAneicsIDB4MDQ1Zn0sCgl7J1knLCAnMycsIDB4MDQ2Mn0sCgl7J3knLCAnMycsIDB4MDQ2M30sCgl7J08nLCAnMycsIDB4MDQ2YX0sCgl7J28nLCAnMycsIDB4MDQ2Yn0sCgl7J0YnLCAnMycsIDB4MDQ3Mn0sCgl7J2YnLCAnMycsIDB4MDQ3M30sCgl7J1YnLCAnMycsIDB4MDQ3NH0sCgl7J3YnLCAnMycsIDB4MDQ3NX0sCgl7J0MnLCAnMycsIDB4MDQ4MH0sCgl7J2MnLCAnMycsIDB4MDQ4MX0sCgl7J0cnLCAnMycsIDB4MDQ5MH0sCgl7J2cnLCAnMycsIDB4MDQ5MX0sCgl7J0EnLCAnKycsIDB4MDVkMH0sCgl7J0InLCAnKycsIDB4MDVkMX0sCgl7J0cnLCAnKycsIDB4MDVkMn0sCgl7J0QnLCAnKycsIDB4MDVkM30sCgl7J0gnLCAnKycsIDB4MDVkNH0sCgl7J1cnLCAnKycsIDB4MDVkNX0sCgl7J1onLCAnKycsIDB4MDVkNn0sCgl7J1gnLCAnKycsIDB4MDVkN30sCgl7J1QnLCAnaicsIDB4MDVkOH0sCgl7J0onLCAnKycsIDB4MDVkOX0sCgl7J0snLCAnJScsIDB4MDVkYX0sCgl7J0snLCAnKycsIDB4MDVkYn0sCgl7J0wnLCAnKycsIDB4MDVkY30sCgl7J00nLCAnJScsIDB4MDVkZH0sCgl7J00nLCAnKycsIDB4MDVkZX0sCgl7J04nLCAnJScsIDB4MDVkZn0sCgl7J04nLCAnKycsIDB4MDVlMH0sCgl7J1MnLCAnKycsIDB4MDVlMX0sCgl7J0UnLCAnKycsIDB4MDVlMn0sCgl7J1AnLCAnJScsIDB4MDVlM30sCgl7J1AnLCAnKycsIDB4MDVlNH0sCgl7J1onLCAnaicsIDB4MDVlNX0sCgl7J1onLCAnSicsIDB4MDVlNn0sCgl7J1EnLCAnKycsIDB4MDVlN30sCgl7J1InLCAnKycsIDB4MDVlOH0sCgl7J1MnLCAnaCcsIDB4MDVlOX0sCgl7J1QnLCAnKycsIDB4MDVlYX0sCgl7JywnLCAnKycsIDB4MDYwY30sCgl7JzsnLCAnKycsIDB4MDYxYn0sCgl7Jz8nLCAnKycsIDB4MDYxZn0sCgl7J0gnLCAnXCcnLCAweDA2MjF9LAoJeydhJywgJ00nLCAweDA2MjJ9LAoJeydhJywgJ0gnLCAweDA2MjN9LAoJeyd3JywgJ0gnLCAweDA2MjR9LAoJeydhJywgJ2gnLCAweDA2MjV9LAoJeyd5JywgJ0gnLCAweDA2MjZ9LAoJeydhJywgJysnLCAweDA2Mjd9LAoJeydiJywgJysnLCAweDA2Mjh9LAoJeyd0JywgJ20nLCAweDA2Mjl9LAoJeyd0JywgJysnLCAweDA2MmF9LAoJeyd0JywgJ2snLCAweDA2MmJ9LAoJeydnJywgJysnLCAweDA2MmN9LAoJeydoJywgJ2snLCAweDA2MmR9LAoJeyd4JywgJysnLCAweDA2MmV9LAoJeydkJywgJysnLCAweDA2MmZ9LAoJeydkJywgJ2snLCAweDA2MzB9LAoJeydyJywgJysnLCAweDA2MzF9LAoJeyd6JywgJysnLCAweDA2MzJ9LAoJeydzJywgJysnLCAweDA2MzN9LAoJeydzJywgJ24nLCAweDA2MzR9LAoJeydjJywgJysnLCAweDA2MzV9LAoJeydkJywgJ2QnLCAweDA2MzZ9LAoJeyd0JywgJ2onLCAweDA2Mzd9LAoJeyd6JywgJ0gnLCAweDA2Mzh9LAoJeydlJywgJysnLCAweDA2Mzl9LAoJeydpJywgJysnLCAweDA2M2F9LAoJeycrJywgJysnLCAweDA2NDB9LAoJeydmJywgJysnLCAweDA2NDF9LAoJeydxJywgJysnLCAweDA2NDJ9LAoJeydrJywgJysnLCAweDA2NDN9LAoJeydsJywgJysnLCAweDA2NDR9LAoJeydtJywgJysnLCAweDA2NDV9LAoJeyduJywgJysnLCAweDA2NDZ9LAoJeydoJywgJysnLCAweDA2NDd9LAoJeyd3JywgJysnLCAweDA2NDh9LAoJeydqJywgJysnLCAweDA2NDl9LAoJeyd5JywgJysnLCAweDA2NGF9LAoJeyc6JywgJysnLCAweDA2NGJ9LAoJeyciJywgJysnLCAweDA2NGN9LAoJeyc9JywgJysnLCAweDA2NGR9LAoJeycvJywgJysnLCAweDA2NGV9LAoJeydcJycsICcrJywgMHgwNjRmfSwKCXsnMScsICcrJywgMHgwNjUwfSwKCXsnMycsICcrJywgMHgwNjUxfSwKCXsnMCcsICcrJywgMHgwNjUyfSwKCXsnYScsICdTJywgMHgwNjcwfSwKCXsncCcsICcrJywgMHgwNjdlfSwKCXsndicsICcrJywgMHgwNmE0fSwKCXsnZycsICdmJywgMHgwNmFmfSwKCXsnMCcsICdhJywgMHgwNmYwfSwKCXsnMScsICdhJywgMHgwNmYxfSwKCXsnMicsICdhJywgMHgwNmYyfSwKCXsnMycsICdhJywgMHgwNmYzfSwKCXsnNCcsICdhJywgMHgwNmY0fSwKCXsnNScsICdhJywgMHgwNmY1fSwKCXsnNicsICdhJywgMHgwNmY2fSwKCXsnNycsICdhJywgMHgwNmY3fSwKCXsnOCcsICdhJywgMHgwNmY4fSwKCXsnOScsICdhJywgMHgwNmY5fSwKCXsnQicsICcuJywgMHgxZTAyfSwKCXsnYicsICcuJywgMHgxZTAzfSwKCXsnQicsICdfJywgMHgxZTA2fSwKCXsnYicsICdfJywgMHgxZTA3fSwKCXsnRCcsICcuJywgMHgxZTBhfSwKCXsnZCcsICcuJywgMHgxZTBifSwKCXsnRCcsICdfJywgMHgxZTBlfSwKCXsnZCcsICdfJywgMHgxZTBmfSwKCXsnRCcsICcsJywgMHgxZTEwfSwKCXsnZCcsICcsJywgMHgxZTExfSwKCXsnRicsICcuJywgMHgxZTFlfSwKCXsnZicsICcuJywgMHgxZTFmfSwKCXsnRycsICctJywgMHgxZTIwfSwKCXsnZycsICctJywgMHgxZTIxfSwKCXsnSCcsICcuJywgMHgxZTIyfSwKCXsnaCcsICcuJywgMHgxZTIzfSwKCXsnSCcsICc6JywgMHgxZTI2fSwKCXsnaCcsICc6JywgMHgxZTI3fSwKCXsnSCcsICcsJywgMHgxZTI4fSwKCXsnaCcsICcsJywgMHgxZTI5fSwKCXsnSycsICdcJycsIDB4MWUzMH0sCgl7J2snLCAnXCcnLCAweDFlMzF9LAoJeydLJywgJ18nLCAweDFlMzR9LAoJeydrJywgJ18nLCAweDFlMzV9LAoJeydMJywgJ18nLCAweDFlM2F9LAoJeydsJywgJ18nLCAweDFlM2J9LAoJeydNJywgJ1wnJywgMHgxZTNlfSwKCXsnbScsICdcJycsIDB4MWUzZn0sCgl7J00nLCAnLicsIDB4MWU0MH0sCgl7J20nLCAnLicsIDB4MWU0MX0sCgl7J04nLCAnLicsIDB4MWU0NH0sCgl7J24nLCAnLicsIDB4MWU0NX0sCgl7J04nLCAnXycsIDB4MWU0OH0sCgl7J24nLCAnXycsIDB4MWU0OX0sCgl7J1AnLCAnXCcnLCAweDFlNTR9LAoJeydwJywgJ1wnJywgMHgxZTU1fSwKCXsnUCcsICcuJywgMHgxZTU2fSwKCXsncCcsICcuJywgMHgxZTU3fSwKCXsnUicsICcuJywgMHgxZTU4fSwKCXsncicsICcuJywgMHgxZTU5fSwKCXsnUicsICdfJywgMHgxZTVlfSwKCXsncicsICdfJywgMHgxZTVmfSwKCXsnUycsICcuJywgMHgxZTYwfSwKCXsncycsICcuJywgMHgxZTYxfSwKCXsnVCcsICcuJywgMHgxZTZhfSwKCXsndCcsICcuJywgMHgxZTZifSwKCXsnVCcsICdfJywgMHgxZTZlfSwKCXsndCcsICdfJywgMHgxZTZmfSwKCXsnVicsICc/JywgMHgxZTdjfSwKCXsndicsICc/JywgMHgxZTdkfSwKCXsnVycsICchJywgMHgxZTgwfSwKCXsndycsICchJywgMHgxZTgxfSwKCXsnVycsICdcJycsIDB4MWU4Mn0sCgl7J3cnLCAnXCcnLCAweDFlODN9LAoJeydXJywgJzonLCAweDFlODR9LAoJeyd3JywgJzonLCAweDFlODV9LAoJeydXJywgJy4nLCAweDFlODZ9LAoJeyd3JywgJy4nLCAweDFlODd9LAoJeydYJywgJy4nLCAweDFlOGF9LAoJeyd4JywgJy4nLCAweDFlOGJ9LAoJeydYJywgJzonLCAweDFlOGN9LAoJeyd4JywgJzonLCAweDFlOGR9LAoJeydZJywgJy4nLCAweDFlOGV9LAoJeyd5JywgJy4nLCAweDFlOGZ9LAoJeydaJywgJz4nLCAweDFlOTB9LAoJeyd6JywgJz4nLCAweDFlOTF9LAoJeydaJywgJ18nLCAweDFlOTR9LAoJeyd6JywgJ18nLCAweDFlOTV9LAoJeydoJywgJ18nLCAweDFlOTZ9LAoJeyd0JywgJzonLCAweDFlOTd9LAoJeyd3JywgJzAnLCAweDFlOTh9LAoJeyd5JywgJzAnLCAweDFlOTl9LAoJeydBJywgJzInLCAweDFlYTJ9LAoJeydhJywgJzInLCAweDFlYTN9LAoJeydFJywgJzInLCAweDFlYmF9LAoJeydlJywgJzInLCAweDFlYmJ9LAoJeydFJywgJz8nLCAweDFlYmN9LAoJeydlJywgJz8nLCAweDFlYmR9LAoJeydJJywgJzInLCAweDFlYzh9LAoJeydpJywgJzInLCAweDFlYzl9LAoJeydPJywgJzInLCAweDFlY2V9LAoJeydvJywgJzInLCAweDFlY2Z9LAoJeydVJywgJzInLCAweDFlZTZ9LAoJeyd1JywgJzInLCAweDFlZTd9LAoJeydZJywgJyEnLCAweDFlZjJ9LAoJeyd5JywgJyEnLCAweDFlZjN9LAoJeydZJywgJzInLCAweDFlZjZ9LAoJeyd5JywgJzInLCAweDFlZjd9LAoJeydZJywgJz8nLCAweDFlZjh9LAoJeyd5JywgJz8nLCAweDFlZjl9LAoJeyc7JywgJ1wnJywgMHgxZjAwfSwKCXsnLCcsICdcJycsIDB4MWYwMX0sCgl7JzsnLCAnIScsIDB4MWYwMn0sCgl7JywnLCAnIScsIDB4MWYwM30sCgl7Jz8nLCAnOycsIDB4MWYwNH0sCgl7Jz8nLCAnLCcsIDB4MWYwNX0sCgl7JyEnLCAnOicsIDB4MWYwNn0sCgl7Jz8nLCAnOicsIDB4MWYwN30sCgl7JzEnLCAnTicsIDB4MjAwMn0sCgl7JzEnLCAnTScsIDB4MjAwM30sCgl7JzMnLCAnTScsIDB4MjAwNH0sCgl7JzQnLCAnTScsIDB4MjAwNX0sCgl7JzYnLCAnTScsIDB4MjAwNn0sCgl7JzEnLCAnVCcsIDB4MjAwOX0sCgl7JzEnLCAnSCcsIDB4MjAwYX0sCgl7Jy0nLCAnMScsIDB4MjAxMH0sCgl7Jy0nLCAnTicsIDB4MjAxM30sCgl7Jy0nLCAnTScsIDB4MjAxNH0sCgl7Jy0nLCAnMycsIDB4MjAxNX0sCgl7JyEnLCAnMicsIDB4MjAxNn0sCgl7Jz0nLCAnMicsIDB4MjAxN30sCgl7J1wnJywgJzYnLCAweDIwMTh9LAoJeydcJycsICc5JywgMHgyMDE5fSwKCXsnLicsICc5JywgMHgyMDFhfSwKCXsnOScsICdcJycsIDB4MjAxYn0sCgl7JyInLCAnNicsIDB4MjAxY30sCgl7JyInLCAnOScsIDB4MjAxZH0sCgl7JzonLCAnOScsIDB4MjAxZX0sCgl7JzknLCAnIicsIDB4MjAxZn0sCgl7Jy8nLCAnLScsIDB4MjAyMH0sCgl7Jy8nLCAnPScsIDB4MjAyMX0sCgl7Jy4nLCAnLicsIDB4MjAyNX0sCgl7JyUnLCAnMCcsIDB4MjAzMH0sCgl7JzEnLCAnXCcnLCAweDIwMzJ9LAoJeycyJywgJ1wnJywgMHgyMDMzfSwKCXsnMycsICdcJycsIDB4MjAzNH0sCgl7JzEnLCAnIicsIDB4MjAzNX0sCgl7JzInLCAnIicsIDB4MjAzNn0sCgl7JzMnLCAnIicsIDB4MjAzN30sCgl7J0MnLCAnYScsIDB4MjAzOH0sCgl7JzwnLCAnMScsIDB4MjAzOX0sCgl7Jz4nLCAnMScsIDB4MjAzYX0sCgl7JzonLCAnWCcsIDB4MjAzYn0sCgl7J1wnJywgJy0nLCAweDIwM2V9LAoJeycvJywgJ2YnLCAweDIwNDR9LAoJeycwJywgJ1MnLCAweDIwNzB9LAoJeyc0JywgJ1MnLCAweDIwNzR9LAoJeyc1JywgJ1MnLCAweDIwNzV9LAoJeyc2JywgJ1MnLCAweDIwNzZ9LAoJeyc3JywgJ1MnLCAweDIwNzd9LAoJeyc4JywgJ1MnLCAweDIwNzh9LAoJeyc5JywgJ1MnLCAweDIwNzl9LAoJeycrJywgJ1MnLCAweDIwN2F9LAoJeyctJywgJ1MnLCAweDIwN2J9LAoJeyc9JywgJ1MnLCAweDIwN2N9LAoJeycoJywgJ1MnLCAweDIwN2R9LAoJeycpJywgJ1MnLCAweDIwN2V9LAoJeyduJywgJ1MnLCAweDIwN2Z9LAoJeycwJywgJ3MnLCAweDIwODB9LAoJeycxJywgJ3MnLCAweDIwODF9LAoJeycyJywgJ3MnLCAweDIwODJ9LAoJeyczJywgJ3MnLCAweDIwODN9LAoJeyc0JywgJ3MnLCAweDIwODR9LAoJeyc1JywgJ3MnLCAweDIwODV9LAoJeyc2JywgJ3MnLCAweDIwODZ9LAoJeyc3JywgJ3MnLCAweDIwODd9LAoJeyc4JywgJ3MnLCAweDIwODh9LAoJeyc5JywgJ3MnLCAweDIwODl9LAoJeycrJywgJ3MnLCAweDIwOGF9LAoJeyctJywgJ3MnLCAweDIwOGJ9LAoJeyc9JywgJ3MnLCAweDIwOGN9LAoJeycoJywgJ3MnLCAweDIwOGR9LAoJeycpJywgJ3MnLCAweDIwOGV9LAoJeydMJywgJ2knLCAweDIwYTR9LAoJeydQJywgJ3QnLCAweDIwYTd9LAoJeydXJywgJz0nLCAweDIwYTl9LAoJeyc9JywgJ2UnLCAweDIwYWN9LCAvKiBldXJvICovCgl7J28nLCAnQycsIDB4MjEwM30sCgl7J2MnLCAnbycsIDB4MjEwNX0sCgl7J28nLCAnRicsIDB4MjEwOX0sCgl7J04nLCAnMCcsIDB4MjExNn0sCgl7J1AnLCAnTycsIDB4MjExN30sCgl7J1InLCAneCcsIDB4MjExZX0sCgl7J1MnLCAnTScsIDB4MjEyMH0sCgl7J1QnLCAnTScsIDB4MjEyMn0sCgl7J08nLCAnbScsIDB4MjEyNn0sCgl7J0EnLCAnTycsIDB4MjEyYn0sCgl7JzEnLCAnMycsIDB4MjE1M30sCgl7JzInLCAnMycsIDB4MjE1NH0sCgl7JzEnLCAnNScsIDB4MjE1NX0sCgl7JzInLCAnNScsIDB4MjE1Nn0sCgl7JzMnLCAnNScsIDB4MjE1N30sCgl7JzQnLCAnNScsIDB4MjE1OH0sCgl7JzEnLCAnNicsIDB4MjE1OX0sCgl7JzUnLCAnNicsIDB4MjE1YX0sCgl7JzEnLCAnOCcsIDB4MjE1Yn0sCgl7JzMnLCAnOCcsIDB4MjE1Y30sCgl7JzUnLCAnOCcsIDB4MjE1ZH0sCgl7JzcnLCAnOCcsIDB4MjE1ZX0sCgl7JzEnLCAnUicsIDB4MjE2MH0sCgl7JzInLCAnUicsIDB4MjE2MX0sCgl7JzMnLCAnUicsIDB4MjE2Mn0sCgl7JzQnLCAnUicsIDB4MjE2M30sCgl7JzUnLCAnUicsIDB4MjE2NH0sCgl7JzYnLCAnUicsIDB4MjE2NX0sCgl7JzcnLCAnUicsIDB4MjE2Nn0sCgl7JzgnLCAnUicsIDB4MjE2N30sCgl7JzknLCAnUicsIDB4MjE2OH0sCgl7J2EnLCAnUicsIDB4MjE2OX0sCgl7J2InLCAnUicsIDB4MjE2YX0sCgl7J2MnLCAnUicsIDB4MjE2Yn0sCgl7JzEnLCAncicsIDB4MjE3MH0sCgl7JzInLCAncicsIDB4MjE3MX0sCgl7JzMnLCAncicsIDB4MjE3Mn0sCgl7JzQnLCAncicsIDB4MjE3M30sCgl7JzUnLCAncicsIDB4MjE3NH0sCgl7JzYnLCAncicsIDB4MjE3NX0sCgl7JzcnLCAncicsIDB4MjE3Nn0sCgl7JzgnLCAncicsIDB4MjE3N30sCgl7JzknLCAncicsIDB4MjE3OH0sCgl7J2EnLCAncicsIDB4MjE3OX0sCgl7J2InLCAncicsIDB4MjE3YX0sCgl7J2MnLCAncicsIDB4MjE3Yn0sCgl7JzwnLCAnLScsIDB4MjE5MH0sCgl7Jy0nLCAnIScsIDB4MjE5MX0sCgl7Jy0nLCAnPicsIDB4MjE5Mn0sCgl7Jy0nLCAndicsIDB4MjE5M30sCgl7JzwnLCAnPicsIDB4MjE5NH0sCgl7J1UnLCAnRCcsIDB4MjE5NX0sCgl7JzwnLCAnPScsIDB4MjFkMH0sCgl7Jz0nLCAnPicsIDB4MjFkMn0sCgl7Jz0nLCAnPScsIDB4MjFkNH0sCgl7J0YnLCAnQScsIDB4MjIwMH0sCgl7J2QnLCAnUCcsIDB4MjIwMn0sCgl7J1QnLCAnRScsIDB4MjIwM30sCgl7Jy8nLCAnMCcsIDB4MjIwNX0sCgl7J0QnLCAnRScsIDB4MjIwNn0sCgl7J04nLCAnQicsIDB4MjIwN30sCgl7JygnLCAnLScsIDB4MjIwOH0sCgl7Jy0nLCAnKScsIDB4MjIwYn0sCgl7JyonLCAnUCcsIDB4MjIwZn0sCgl7JysnLCAnWicsIDB4MjIxMX0sCgl7Jy0nLCAnMicsIDB4MjIxMn0sCgl7Jy0nLCAnKycsIDB4MjIxM30sCgl7JyonLCAnLScsIDB4MjIxN30sCgl7J08nLCAnYicsIDB4MjIxOH0sCgl7J1MnLCAnYicsIDB4MjIxOX0sCgl7J1InLCAnVCcsIDB4MjIxYX0sCgl7JzAnLCAnKCcsIDB4MjIxZH0sCgl7JzAnLCAnMCcsIDB4MjIxZX0sCgl7Jy0nLCAnTCcsIDB4MjIxZn0sCgl7Jy0nLCAnVicsIDB4MjIyMH0sCgl7J1AnLCAnUCcsIDB4MjIyNX0sCgl7J0EnLCAnTicsIDB4MjIyN30sCgl7J08nLCAnUicsIDB4MjIyOH0sCgl7JygnLCAnVScsIDB4MjIyOX0sCgl7JyknLCAnVScsIDB4MjIyYX0sCgl7J0knLCAnbicsIDB4MjIyYn0sCgl7J0QnLCAnSScsIDB4MjIyY30sCgl7J0knLCAnbycsIDB4MjIyZX0sCgl7Jy4nLCAnOicsIDB4MjIzNH0sCgl7JzonLCAnLicsIDB4MjIzNX0sCgl7JzonLCAnUicsIDB4MjIzNn0sCgl7JzonLCAnOicsIDB4MjIzN30sCgl7Jz8nLCAnMScsIDB4MjIzY30sCgl7J0MnLCAnRycsIDB4MjIzZX0sCgl7Jz8nLCAnLScsIDB4MjI0M30sCgl7Jz8nLCAnPScsIDB4MjI0NX0sCgl7Jz8nLCAnMicsIDB4MjI0OH0sCgl7Jz0nLCAnPycsIDB4MjI0Y30sCgl7J0gnLCAnSScsIDB4MjI1M30sCgl7JyEnLCAnPScsIDB4MjI2MH0sCgl7Jz0nLCAnMycsIDB4MjI2MX0sCgl7Jz0nLCAnPCcsIDB4MjI2NH0sCgl7Jz4nLCAnPScsIDB4MjI2NX0sCgl7JzwnLCAnKicsIDB4MjI2YX0sCgl7JyonLCAnPicsIDB4MjI2Yn0sCgl7JyEnLCAnPCcsIDB4MjI2ZX0sCgl7JyEnLCAnPicsIDB4MjI2Zn0sCgl7JygnLCAnQycsIDB4MjI4Mn0sCgl7JyknLCAnQycsIDB4MjI4M30sCgl7JygnLCAnXycsIDB4MjI4Nn0sCgl7JyknLCAnXycsIDB4MjI4N30sCgl7JzAnLCAnLicsIDB4MjI5OX0sCgl7JzAnLCAnMicsIDB4MjI5YX0sCgl7Jy0nLCAnVCcsIDB4MjJhNX0sCgl7Jy4nLCAnUCcsIDB4MjJjNX0sCgl7JzonLCAnMycsIDB4MjJlZX0sCgl7Jy4nLCAnMycsIDB4MjJlZn0sCgl7J0UnLCAnaCcsIDB4MjMwMn0sCgl7JzwnLCAnNycsIDB4MjMwOH0sCgl7Jz4nLCAnNycsIDB4MjMwOX0sCgl7JzcnLCAnPCcsIDB4MjMwYX0sCgl7JzcnLCAnPicsIDB4MjMwYn0sCgl7J04nLCAnSScsIDB4MjMxMH0sCgl7JygnLCAnQScsIDB4MjMxMn0sCgl7J1QnLCAnUicsIDB4MjMxNX0sCgl7J0knLCAndScsIDB4MjMyMH0sCgl7J0knLCAnbCcsIDB4MjMyMX0sCgl7JzwnLCAnLycsIDB4MjMyOX0sCgl7Jy8nLCAnPicsIDB4MjMyYX0sCgl7J1YnLCAncycsIDB4MjQyM30sCgl7JzEnLCAnaCcsIDB4MjQ0MH0sCgl7JzMnLCAnaCcsIDB4MjQ0MX0sCgl7JzInLCAnaCcsIDB4MjQ0Mn0sCgl7JzQnLCAnaCcsIDB4MjQ0M30sCgl7JzEnLCAnaicsIDB4MjQ0Nn0sCgl7JzInLCAnaicsIDB4MjQ0N30sCgl7JzMnLCAnaicsIDB4MjQ0OH0sCgl7JzQnLCAnaicsIDB4MjQ0OX0sCgl7JzEnLCAnLicsIDB4MjQ4OH0sCgl7JzInLCAnLicsIDB4MjQ4OX0sCgl7JzMnLCAnLicsIDB4MjQ4YX0sCgl7JzQnLCAnLicsIDB4MjQ4Yn0sCgl7JzUnLCAnLicsIDB4MjQ4Y30sCgl7JzYnLCAnLicsIDB4MjQ4ZH0sCgl7JzcnLCAnLicsIDB4MjQ4ZX0sCgl7JzgnLCAnLicsIDB4MjQ4Zn0sCgl7JzknLCAnLicsIDB4MjQ5MH0sCgl7J2gnLCAnaCcsIDB4MjUwMH0sCgl7J0gnLCAnSCcsIDB4MjUwMX0sCgl7J3YnLCAndicsIDB4MjUwMn0sCgl7J1YnLCAnVicsIDB4MjUwM30sCgl7JzMnLCAnLScsIDB4MjUwNH0sCgl7JzMnLCAnXycsIDB4MjUwNX0sCgl7JzMnLCAnIScsIDB4MjUwNn0sCgl7JzMnLCAnLycsIDB4MjUwN30sCgl7JzQnLCAnLScsIDB4MjUwOH0sCgl7JzQnLCAnXycsIDB4MjUwOX0sCgl7JzQnLCAnIScsIDB4MjUwYX0sCgl7JzQnLCAnLycsIDB4MjUwYn0sCgl7J2QnLCAncicsIDB4MjUwY30sCgl7J2QnLCAnUicsIDB4MjUwZH0sCgl7J0QnLCAncicsIDB4MjUwZX0sCgl7J0QnLCAnUicsIDB4MjUwZn0sCgl7J2QnLCAnbCcsIDB4MjUxMH0sCgl7J2QnLCAnTCcsIDB4MjUxMX0sCgl7J0QnLCAnbCcsIDB4MjUxMn0sCgl7J0wnLCAnRCcsIDB4MjUxM30sCgl7J3UnLCAncicsIDB4MjUxNH0sCgl7J3UnLCAnUicsIDB4MjUxNX0sCgl7J1UnLCAncicsIDB4MjUxNn0sCgl7J1UnLCAnUicsIDB4MjUxN30sCgl7J3UnLCAnbCcsIDB4MjUxOH0sCgl7J3UnLCAnTCcsIDB4MjUxOX0sCgl7J1UnLCAnbCcsIDB4MjUxYX0sCgl7J1UnLCAnTCcsIDB4MjUxYn0sCgl7J3YnLCAncicsIDB4MjUxY30sCgl7J3YnLCAnUicsIDB4MjUxZH0sCgl7J1YnLCAncicsIDB4MjUyMH0sCgl7J1YnLCAnUicsIDB4MjUyM30sCgl7J3YnLCAnbCcsIDB4MjUyNH0sCgl7J3YnLCAnTCcsIDB4MjUyNX0sCgl7J1YnLCAnbCcsIDB4MjUyOH0sCgl7J1YnLCAnTCcsIDB4MjUyYn0sCgl7J2QnLCAnaCcsIDB4MjUyY30sCgl7J2QnLCAnSCcsIDB4MjUyZn0sCgl7J0QnLCAnaCcsIDB4MjUzMH0sCgl7J0QnLCAnSCcsIDB4MjUzM30sCgl7J3UnLCAnaCcsIDB4MjUzNH0sCgl7J3UnLCAnSCcsIDB4MjUzN30sCgl7J1UnLCAnaCcsIDB4MjUzOH0sCgl7J1UnLCAnSCcsIDB4MjUzYn0sCgl7J3YnLCAnaCcsIDB4MjUzY30sCgl7J3YnLCAnSCcsIDB4MjUzZn0sCgl7J1YnLCAnaCcsIDB4MjU0Mn0sCgl7J1YnLCAnSCcsIDB4MjU0Yn0sCgl7J0YnLCAnRCcsIDB4MjU3MX0sCgl7J0InLCAnRCcsIDB4MjU3Mn0sCgl7J1QnLCAnQicsIDB4MjU4MH0sCgl7J0wnLCAnQicsIDB4MjU4NH0sCgl7J0YnLCAnQicsIDB4MjU4OH0sCgl7J2wnLCAnQicsIDB4MjU4Y30sCgl7J1InLCAnQicsIDB4MjU5MH0sCgl7Jy4nLCAnUycsIDB4MjU5MX0sCgl7JzonLCAnUycsIDB4MjU5Mn0sCgl7Jz8nLCAnUycsIDB4MjU5M30sCgl7J2YnLCAnUycsIDB4MjVhMH0sCgl7J08nLCAnUycsIDB4MjVhMX0sCgl7J1InLCAnTycsIDB4MjVhMn0sCgl7J1InLCAncicsIDB4MjVhM30sCgl7J1InLCAnRicsIDB4MjVhNH0sCgl7J1InLCAnWScsIDB4MjVhNX0sCgl7J1InLCAnSCcsIDB4MjVhNn0sCgl7J1InLCAnWicsIDB4MjVhN30sCgl7J1InLCAnSycsIDB4MjVhOH0sCgl7J1InLCAnWCcsIDB4MjVhOX0sCgl7J3MnLCAnQicsIDB4MjVhYX0sCgl7J1MnLCAnUicsIDB4MjVhY30sCgl7J08nLCAncicsIDB4MjVhZH0sCgl7J1UnLCAnVCcsIDB4MjViMn0sCgl7J3UnLCAnVCcsIDB4MjViM30sCgl7J1AnLCAnUicsIDB4MjViNn0sCgl7J1QnLCAncicsIDB4MjViN30sCgl7J0QnLCAndCcsIDB4MjViY30sCgl7J2QnLCAnVCcsIDB4MjViZH0sCgl7J1AnLCAnTCcsIDB4MjVjMH0sCgl7J1QnLCAnbCcsIDB4MjVjMX0sCgl7J0QnLCAnYicsIDB4MjVjNn0sCgl7J0QnLCAndycsIDB4MjVjN30sCgl7J0wnLCAnWicsIDB4MjVjYX0sCgl7JzAnLCAnbScsIDB4MjVjYn0sCgl7JzAnLCAnbycsIDB4MjVjZX0sCgl7JzAnLCAnTScsIDB4MjVjZn0sCgl7JzAnLCAnTCcsIDB4MjVkMH0sCgl7JzAnLCAnUicsIDB4MjVkMX0sCgl7J1MnLCAnbicsIDB4MjVkOH0sCgl7J0knLCAnYycsIDB4MjVkOX0sCgl7J0YnLCAnZCcsIDB4MjVlMn0sCgl7J0InLCAnZCcsIDB4MjVlM30sCgl7JyonLCAnMicsIDB4MjYwNX0sCgl7JyonLCAnMScsIDB4MjYwNn0sCgl7JzwnLCAnSCcsIDB4MjYxY30sCgl7Jz4nLCAnSCcsIDB4MjYxZX0sCgl7JzAnLCAndScsIDB4MjYzYX0sCgl7JzAnLCAnVScsIDB4MjYzYn0sCgl7J1MnLCAnVScsIDB4MjYzY30sCgl7J0YnLCAnbScsIDB4MjY0MH0sCgl7J00nLCAnbCcsIDB4MjY0Mn0sCgl7J2MnLCAnUycsIDB4MjY2MH0sCgl7J2MnLCAnSCcsIDB4MjY2MX0sCgl7J2MnLCAnRCcsIDB4MjY2Mn0sCgl7J2MnLCAnQycsIDB4MjY2M30sCgl7J00nLCAnZCcsIDB4MjY2OX0sCgl7J00nLCAnOCcsIDB4MjY2YX0sCgl7J00nLCAnMicsIDB4MjY2Yn0sCgl7J00nLCAnYicsIDB4MjY2ZH0sCgl7J00nLCAneCcsIDB4MjY2ZX0sCgl7J00nLCAnWCcsIDB4MjY2Zn0sCgl7J08nLCAnSycsIDB4MjcxM30sCgl7J1gnLCAnWCcsIDB4MjcxN30sCgl7Jy0nLCAnWCcsIDB4MjcyMH0sCgl7J0knLCAnUycsIDB4MzAwMH0sCgl7JywnLCAnXycsIDB4MzAwMX0sCgl7Jy4nLCAnXycsIDB4MzAwMn0sCgl7JysnLCAnIicsIDB4MzAwM30sCgl7JysnLCAnXycsIDB4MzAwNH0sCgl7JyonLCAnXycsIDB4MzAwNX0sCgl7JzsnLCAnXycsIDB4MzAwNn0sCgl7JzAnLCAnXycsIDB4MzAwN30sCgl7JzwnLCAnKycsIDB4MzAwYX0sCgl7Jz4nLCAnKycsIDB4MzAwYn0sCgl7JzwnLCAnXCcnLCAweDMwMGN9LAoJeyc+JywgJ1wnJywgMHgzMDBkfSwKCXsnPCcsICciJywgMHgzMDBlfSwKCXsnPicsICciJywgMHgzMDBmfSwKCXsnKCcsICciJywgMHgzMDEwfSwKCXsnKScsICciJywgMHgzMDExfSwKCXsnPScsICdUJywgMHgzMDEyfSwKCXsnPScsICdfJywgMHgzMDEzfSwKCXsnKCcsICdcJycsIDB4MzAxNH0sCgl7JyknLCAnXCcnLCAweDMwMTV9LAoJeycoJywgJ0knLCAweDMwMTZ9LAoJeycpJywgJ0knLCAweDMwMTd9LAoJeyctJywgJz8nLCAweDMwMWN9LAoJeydBJywgJzUnLCAweDMwNDF9LAoJeydhJywgJzUnLCAweDMwNDJ9LAoJeydJJywgJzUnLCAweDMwNDN9LAoJeydpJywgJzUnLCAweDMwNDR9LAoJeydVJywgJzUnLCAweDMwNDV9LAoJeyd1JywgJzUnLCAweDMwNDZ9LAoJeydFJywgJzUnLCAweDMwNDd9LAoJeydlJywgJzUnLCAweDMwNDh9LAoJeydPJywgJzUnLCAweDMwNDl9LAoJeydvJywgJzUnLCAweDMwNGF9LAoJeydrJywgJ2EnLCAweDMwNGJ9LAoJeydnJywgJ2EnLCAweDMwNGN9LAoJeydrJywgJ2knLCAweDMwNGR9LAoJeydnJywgJ2knLCAweDMwNGV9LAoJeydrJywgJ3UnLCAweDMwNGZ9LAoJeydnJywgJ3UnLCAweDMwNTB9LAoJeydrJywgJ2UnLCAweDMwNTF9LAoJeydnJywgJ2UnLCAweDMwNTJ9LAoJeydrJywgJ28nLCAweDMwNTN9LAoJeydnJywgJ28nLCAweDMwNTR9LAoJeydzJywgJ2EnLCAweDMwNTV9LAoJeyd6JywgJ2EnLCAweDMwNTZ9LAoJeydzJywgJ2knLCAweDMwNTd9LAoJeyd6JywgJ2knLCAweDMwNTh9LAoJeydzJywgJ3UnLCAweDMwNTl9LAoJeyd6JywgJ3UnLCAweDMwNWF9LAoJeydzJywgJ2UnLCAweDMwNWJ9LAoJeyd6JywgJ2UnLCAweDMwNWN9LAoJeydzJywgJ28nLCAweDMwNWR9LAoJeyd6JywgJ28nLCAweDMwNWV9LAoJeyd0JywgJ2EnLCAweDMwNWZ9LAoJeydkJywgJ2EnLCAweDMwNjB9LAoJeyd0JywgJ2knLCAweDMwNjF9LAoJeydkJywgJ2knLCAweDMwNjJ9LAoJeyd0JywgJ1UnLCAweDMwNjN9LAoJeyd0JywgJ3UnLCAweDMwNjR9LAoJeydkJywgJ3UnLCAweDMwNjV9LAoJeyd0JywgJ2UnLCAweDMwNjZ9LAoJeydkJywgJ2UnLCAweDMwNjd9LAoJeyd0JywgJ28nLCAweDMwNjh9LAoJeydkJywgJ28nLCAweDMwNjl9LAoJeyduJywgJ2EnLCAweDMwNmF9LAoJeyduJywgJ2knLCAweDMwNmJ9LAoJeyduJywgJ3UnLCAweDMwNmN9LAoJeyduJywgJ2UnLCAweDMwNmR9LAoJeyduJywgJ28nLCAweDMwNmV9LAoJeydoJywgJ2EnLCAweDMwNmZ9LAoJeydiJywgJ2EnLCAweDMwNzB9LAoJeydwJywgJ2EnLCAweDMwNzF9LAoJeydoJywgJ2knLCAweDMwNzJ9LAoJeydiJywgJ2knLCAweDMwNzN9LAoJeydwJywgJ2knLCAweDMwNzR9LAoJeydoJywgJ3UnLCAweDMwNzV9LAoJeydiJywgJ3UnLCAweDMwNzZ9LAoJeydwJywgJ3UnLCAweDMwNzd9LAoJeydoJywgJ2UnLCAweDMwNzh9LAoJeydiJywgJ2UnLCAweDMwNzl9LAoJeydwJywgJ2UnLCAweDMwN2F9LAoJeydoJywgJ28nLCAweDMwN2J9LAoJeydiJywgJ28nLCAweDMwN2N9LAoJeydwJywgJ28nLCAweDMwN2R9LAoJeydtJywgJ2EnLCAweDMwN2V9LAoJeydtJywgJ2knLCAweDMwN2Z9LAoJeydtJywgJ3UnLCAweDMwODB9LAoJeydtJywgJ2UnLCAweDMwODF9LAoJeydtJywgJ28nLCAweDMwODJ9LAoJeyd5JywgJ0EnLCAweDMwODN9LAoJeyd5JywgJ2EnLCAweDMwODR9LAoJeyd5JywgJ1UnLCAweDMwODV9LAoJeyd5JywgJ3UnLCAweDMwODZ9LAoJeyd5JywgJ08nLCAweDMwODd9LAoJeyd5JywgJ28nLCAweDMwODh9LAoJeydyJywgJ2EnLCAweDMwODl9LAoJeydyJywgJ2knLCAweDMwOGF9LAoJeydyJywgJ3UnLCAweDMwOGJ9LAoJeydyJywgJ2UnLCAweDMwOGN9LAoJeydyJywgJ28nLCAweDMwOGR9LAoJeyd3JywgJ0EnLCAweDMwOGV9LAoJeyd3JywgJ2EnLCAweDMwOGZ9LAoJeyd3JywgJ2knLCAweDMwOTB9LAoJeyd3JywgJ2UnLCAweDMwOTF9LAoJeyd3JywgJ28nLCAweDMwOTJ9LAoJeyduJywgJzUnLCAweDMwOTN9LAoJeyd2JywgJ3UnLCAweDMwOTR9LAoJeyciJywgJzUnLCAweDMwOWJ9LAoJeycwJywgJzUnLCAweDMwOWN9LAoJeycqJywgJzUnLCAweDMwOWR9LAoJeycrJywgJzUnLCAweDMwOWV9LAoJeydhJywgJzYnLCAweDMwYTF9LAoJeydBJywgJzYnLCAweDMwYTJ9LAoJeydpJywgJzYnLCAweDMwYTN9LAoJeydJJywgJzYnLCAweDMwYTR9LAoJeyd1JywgJzYnLCAweDMwYTV9LAoJeydVJywgJzYnLCAweDMwYTZ9LAoJeydlJywgJzYnLCAweDMwYTd9LAoJeydFJywgJzYnLCAweDMwYTh9LAoJeydvJywgJzYnLCAweDMwYTl9LAoJeydPJywgJzYnLCAweDMwYWF9LAoJeydLJywgJ2EnLCAweDMwYWJ9LAoJeydHJywgJ2EnLCAweDMwYWN9LAoJeydLJywgJ2knLCAweDMwYWR9LAoJeydHJywgJ2knLCAweDMwYWV9LAoJeydLJywgJ3UnLCAweDMwYWZ9LAoJeydHJywgJ3UnLCAweDMwYjB9LAoJeydLJywgJ2UnLCAweDMwYjF9LAoJeydHJywgJ2UnLCAweDMwYjJ9LAoJeydLJywgJ28nLCAweDMwYjN9LAoJeydHJywgJ28nLCAweDMwYjR9LAoJeydTJywgJ2EnLCAweDMwYjV9LAoJeydaJywgJ2EnLCAweDMwYjZ9LAoJeydTJywgJ2knLCAweDMwYjd9LAoJeydaJywgJ2knLCAweDMwYjh9LAoJeydTJywgJ3UnLCAweDMwYjl9LAoJeydaJywgJ3UnLCAweDMwYmF9LAoJeydTJywgJ2UnLCAweDMwYmJ9LAoJeydaJywgJ2UnLCAweDMwYmN9LAoJeydTJywgJ28nLCAweDMwYmR9LAoJeydaJywgJ28nLCAweDMwYmV9LAoJeydUJywgJ2EnLCAweDMwYmZ9LAoJeydEJywgJ2EnLCAweDMwYzB9LAoJeydUJywgJ2knLCAweDMwYzF9LAoJeydEJywgJ2knLCAweDMwYzJ9LAoJeydUJywgJ1UnLCAweDMwYzN9LAoJeydUJywgJ3UnLCAweDMwYzR9LAoJeydEJywgJ3UnLCAweDMwYzV9LAoJeydUJywgJ2UnLCAweDMwYzZ9LAoJeydEJywgJ2UnLCAweDMwYzd9LAoJeydUJywgJ28nLCAweDMwYzh9LAoJeydEJywgJ28nLCAweDMwYzl9LAoJeydOJywgJ2EnLCAweDMwY2F9LAoJeydOJywgJ2knLCAweDMwY2J9LAoJeydOJywgJ3UnLCAweDMwY2N9LAoJeydOJywgJ2UnLCAweDMwY2R9LAoJeydOJywgJ28nLCAweDMwY2V9LAoJeydIJywgJ2EnLCAweDMwY2Z9LAoJeydCJywgJ2EnLCAweDMwZDB9LAoJeydQJywgJ2EnLCAweDMwZDF9LAoJeydIJywgJ2knLCAweDMwZDJ9LAoJeydCJywgJ2knLCAweDMwZDN9LAoJeydQJywgJ2knLCAweDMwZDR9LAoJeydIJywgJ3UnLCAweDMwZDV9LAoJeydCJywgJ3UnLCAweDMwZDZ9LAoJeydQJywgJ3UnLCAweDMwZDd9LAoJeydIJywgJ2UnLCAweDMwZDh9LAoJeydCJywgJ2UnLCAweDMwZDl9LAoJeydQJywgJ2UnLCAweDMwZGF9LAoJeydIJywgJ28nLCAweDMwZGJ9LAoJeydCJywgJ28nLCAweDMwZGN9LAoJeydQJywgJ28nLCAweDMwZGR9LAoJeydNJywgJ2EnLCAweDMwZGV9LAoJeydNJywgJ2knLCAweDMwZGZ9LAoJeydNJywgJ3UnLCAweDMwZTB9LAoJeydNJywgJ2UnLCAweDMwZTF9LAoJeydNJywgJ28nLCAweDMwZTJ9LAoJeydZJywgJ0EnLCAweDMwZTN9LAoJeydZJywgJ2EnLCAweDMwZTR9LAoJeydZJywgJ1UnLCAweDMwZTV9LAoJeydZJywgJ3UnLCAweDMwZTZ9LAoJeydZJywgJ08nLCAweDMwZTd9LAoJeydZJywgJ28nLCAweDMwZTh9LAoJeydSJywgJ2EnLCAweDMwZTl9LAoJeydSJywgJ2knLCAweDMwZWF9LAoJeydSJywgJ3UnLCAweDMwZWJ9LAoJeydSJywgJ2UnLCAweDMwZWN9LAoJeydSJywgJ28nLCAweDMwZWR9LAoJeydXJywgJ0EnLCAweDMwZWV9LAoJeydXJywgJ2EnLCAweDMwZWZ9LAoJeydXJywgJ2knLCAweDMwZjB9LAoJeydXJywgJ2UnLCAweDMwZjF9LAoJeydXJywgJ28nLCAweDMwZjJ9LAoJeydOJywgJzYnLCAweDMwZjN9LAoJeydWJywgJ3UnLCAweDMwZjR9LAoJeydLJywgJ0EnLCAweDMwZjV9LAoJeydLJywgJ0UnLCAweDMwZjZ9LAoJeydWJywgJ2EnLCAweDMwZjd9LAoJeydWJywgJ2knLCAweDMwZjh9LAoJeydWJywgJ2UnLCAweDMwZjl9LAoJeydWJywgJ28nLCAweDMwZmF9LAoJeycuJywgJzYnLCAweDMwZmJ9LAoJeyctJywgJzYnLCAweDMwZmN9LAoJeycqJywgJzYnLCAweDMwZmR9LAoJeycrJywgJzYnLCAweDMwZmV9LAoJeydiJywgJzQnLCAweDMxMDV9LAoJeydwJywgJzQnLCAweDMxMDZ9LAoJeydtJywgJzQnLCAweDMxMDd9LAoJeydmJywgJzQnLCAweDMxMDh9LAoJeydkJywgJzQnLCAweDMxMDl9LAoJeyd0JywgJzQnLCAweDMxMGF9LAoJeyduJywgJzQnLCAweDMxMGJ9LAoJeydsJywgJzQnLCAweDMxMGN9LAoJeydnJywgJzQnLCAweDMxMGR9LAoJeydrJywgJzQnLCAweDMxMGV9LAoJeydoJywgJzQnLCAweDMxMGZ9LAoJeydqJywgJzQnLCAweDMxMTB9LAoJeydxJywgJzQnLCAweDMxMTF9LAoJeyd4JywgJzQnLCAweDMxMTJ9LAoJeyd6JywgJ2gnLCAweDMxMTN9LAoJeydjJywgJ2gnLCAweDMxMTR9LAoJeydzJywgJ2gnLCAweDMxMTV9LAoJeydyJywgJzQnLCAweDMxMTZ9LAoJeyd6JywgJzQnLCAweDMxMTd9LAoJeydjJywgJzQnLCAweDMxMTh9LAoJeydzJywgJzQnLCAweDMxMTl9LAoJeydhJywgJzQnLCAweDMxMWF9LAoJeydvJywgJzQnLCAweDMxMWJ9LAoJeydlJywgJzQnLCAweDMxMWN9LAoJeydhJywgJ2knLCAweDMxMWV9LAoJeydlJywgJ2knLCAweDMxMWZ9LAoJeydhJywgJ3UnLCAweDMxMjB9LAoJeydvJywgJ3UnLCAweDMxMjF9LAoJeydhJywgJ24nLCAweDMxMjJ9LAoJeydlJywgJ24nLCAweDMxMjN9LAoJeydhJywgJ04nLCAweDMxMjR9LAoJeydlJywgJ04nLCAweDMxMjV9LAoJeydlJywgJ3InLCAweDMxMjZ9LAoJeydpJywgJzQnLCAweDMxMjd9LAoJeyd1JywgJzQnLCAweDMxMjh9LAoJeydpJywgJ3UnLCAweDMxMjl9LAoJeyd2JywgJzQnLCAweDMxMmF9LAoJeyduJywgJ0cnLCAweDMxMmJ9LAoJeydnJywgJ24nLCAweDMxMmN9LAoJeycxJywgJ2MnLCAweDMyMjB9LAoJeycyJywgJ2MnLCAweDMyMjF9LAoJeyczJywgJ2MnLCAweDMyMjJ9LAoJeyc0JywgJ2MnLCAweDMyMjN9LAoJeyc1JywgJ2MnLCAweDMyMjR9LAoJeyc2JywgJ2MnLCAweDMyMjV9LAoJeyc3JywgJ2MnLCAweDMyMjZ9LAoJeyc4JywgJ2MnLCAweDMyMjd9LAoJeyc5JywgJ2MnLCAweDMyMjh9LAoJeycgJywgJyAnLCAweGUwMDB9LAoJeycvJywgJ2MnLCAweGUwMDF9LAoJeydVJywgJ0EnLCAweGUwMDJ9LAoJeydVJywgJ0InLCAweGUwMDN9LAoJeyciJywgJzMnLCAweGUwMDR9LAoJeyciJywgJzEnLCAweGUwMDV9LAoJeyciJywgJyEnLCAweGUwMDZ9LAoJeyciJywgJ1wnJywgMHhlMDA3fSwKCXsnIicsICc+JywgMHhlMDA4fSwKCXsnIicsICc/JywgMHhlMDA5fSwKCXsnIicsICctJywgMHhlMDBhfSwKCXsnIicsICcoJywgMHhlMDBifSwKCXsnIicsICcuJywgMHhlMDBjfSwKCXsnIicsICc6JywgMHhlMDBkfSwKCXsnIicsICcwJywgMHhlMDBlfSwKCXsnIicsICciJywgMHhlMDBmfSwKCXsnIicsICc8JywgMHhlMDEwfSwKCXsnIicsICcsJywgMHhlMDExfSwKCXsnIicsICc7JywgMHhlMDEyfSwKCXsnIicsICdfJywgMHhlMDEzfSwKCXsnIicsICc9JywgMHhlMDE0fSwKCXsnIicsICcvJywgMHhlMDE1fSwKCXsnIicsICdpJywgMHhlMDE2fSwKCXsnIicsICdkJywgMHhlMDE3fSwKCXsnIicsICdwJywgMHhlMDE4fSwKCXsnOycsICc7JywgMHhlMDE5fSwKCXsnLCcsICcsJywgMHhlMDFhfSwKCXsnYicsICczJywgMHhlMDFifSwKCXsnQycsICdpJywgMHhlMDFjfSwKCXsnZicsICcoJywgMHhlMDFkfSwKCXsnZScsICdkJywgMHhlMDFlfSwKCXsnYScsICdtJywgMHhlMDFmfSwKCXsncCcsICdtJywgMHhlMDIwfSwKCXsnRicsICdsJywgMHhlMDIzfSwKCXsnRycsICdGJywgMHhlMDI0fSwKCXsnPicsICdWJywgMHhlMDI1fSwKCXsnIScsICcqJywgMHhlMDI2fSwKCXsnPycsICcqJywgMHhlMDI3fSwKCXsnSicsICc8JywgMHhlMDI4fSwKCXsnZicsICdmJywgMHhmYjAwfSwKCXsnZicsICdpJywgMHhmYjAxfSwKCXsnZicsICdsJywgMHhmYjAyfSwKCXsnZicsICd0JywgMHhmYjA1fSwKCXsncycsICd0JywgMHhmYjA2fSwKIyAgICAgIGVuZGlmIC8qIEZFQVRfTUJZVEUgKi8KCXtOVUwsIE5VTCwgTlVMfQogICAgICAgfTsKCiMgICAgIGVuZGlmIC8qIE9MRF9ESUdSQVBIUyAqLwoKIyAgICBlbmRpZiAvKiBNYWNpbnRvc2ggKi8KIyAgIGVuZGlmIC8qIEVCQ0RJQyAqLwojICBlbmRpZiAgICAvKiAhSFBVWF9ESUdSQVBIUyAqLwojIGVuZGlmCS8qICFfX01JTlRfXyAqLwojZW5kaWYJLyogIU1TRE9TICYmICFPUzIgKi8KCi8qCiAqIGhhbmRsZSBkaWdyYXBocyBhZnRlciB0eXBpbmcgYSBjaGFyYWN0ZXIKICovCiAgICBpbnQKZG9fZGlncmFwaChjKQogICAgaW50CSAgICBjOwp7CiAgICBzdGF0aWMgaW50CWJhY2tzcGFjZWQ7CS8qIGNoYXJhY3RlciBiZWZvcmUgS19CUyAqLwogICAgc3RhdGljIGludAlsYXN0Y2hhcjsJLyogbGFzdCB0eXBlZCBjaGFyYWN0ZXIgKi8KCiAgICBpZiAoYyA9PSAtMSkJCS8qIGluaXQgdmFsdWVzICovCiAgICB7CgliYWNrc3BhY2VkID0gLTE7CiAgICB9CiAgICBlbHNlIGlmIChwX2RnKQogICAgewoJaWYgKGJhY2tzcGFjZWQgPj0gMCkKCSAgICBjID0gZ2V0ZGlncmFwaChiYWNrc3BhY2VkLCBjLCBGQUxTRSk7CgliYWNrc3BhY2VkID0gLTE7CglpZiAoKGMgPT0gS19CUyB8fCBjID09IEN0cmxfSCkgJiYgbGFzdGNoYXIgPj0gMCkKCSAgICBiYWNrc3BhY2VkID0gbGFzdGNoYXI7CiAgICB9CiAgICBsYXN0Y2hhciA9IGM7CiAgICByZXR1cm4gYzsKfQoKLyoKICogR2V0IGEgZGlncmFwaC4gIFVzZWQgYWZ0ZXIgdHlwaW5nIENUUkwtSyBvbiB0aGUgY29tbWFuZCBsaW5lIG9yIGluIG5vcm1hbAogKiBtb2RlLgogKiBSZXR1cm5zIGNvbXBvc2VkIGNoYXJhY3Rlciwgb3IgTlVMIHdoZW4gRVNDIHdhcyB1c2VkLgogKi8KICAgIGludApnZXRfZGlncmFwaChjbWRsaW5lKQogICAgaW50CQljbWRsaW5lOwkvKiBUUlVFIHdoZW4gY2FsbGVkIGZyb20gdGhlIGNtZGxpbmUgKi8KewogICAgaW50CQljLCBjYzsKCiAgICArK25vX21hcHBpbmc7CiAgICArK2FsbG93X2tleXM7CiAgICBjID0gc2FmZV92Z2V0YygpOwogICAgLS1ub19tYXBwaW5nOwogICAgLS1hbGxvd19rZXlzOwogICAgaWYgKGMgIT0gRVNDKQkJLyogRVNDIGNhbmNlbHMgQ1RSTC1LICovCiAgICB7CglpZiAoSVNfU1BFQ0lBTChjKSkJLyogaW5zZXJ0IHNwZWNpYWwga2V5IGNvZGUgKi8KCSAgICByZXR1cm4gYzsKCWlmIChjbWRsaW5lKQoJewoJICAgIGlmIChjaGFyMmNlbGxzKGMpID09IDEKI2lmIGRlZmluZWQoRkVBVF9DUllQVCkgfHwgZGVmaW5lZChGRUFUX0VWQUwpCgkJICAgICYmIGNtZGxpbmVfc3RhciA9PSAwCiNlbmRpZgoJCSAgICApCgkJcHV0Y21kbGluZShjLCBUUlVFKTsKCX0KI2lmZGVmIEZFQVRfQ01ETF9JTkZPCgllbHNlCgkgICAgYWRkX3RvX3Nob3djbWQoYyk7CiNlbmRpZgoJKytub19tYXBwaW5nOwoJKythbGxvd19rZXlzOwoJY2MgPSBzYWZlX3ZnZXRjKCk7CgktLW5vX21hcHBpbmc7CgktLWFsbG93X2tleXM7CglpZiAoY2MgIT0gRVNDKQkgICAgLyogRVNDIGNhbmNlbHMgQ1RSTC1LICovCgkgICAgcmV0dXJuIGdldGRpZ3JhcGgoYywgY2MsIFRSVUUpOwogICAgfQogICAgcmV0dXJuIE5VTDsKfQoKLyoKICogTG9va3VwIHRoZSBwYWlyICJjaGFyMSIsICJjaGFyMiIgaW4gdGhlIGRpZ3JhcGggdGFibGVzLgogKiBJZiBubyBtYXRjaCwgcmV0dXJuICJjaGFyMiIuCiAqIElmICJtZXRhIiBpcyBUUlVFIGFuZCAiY2hhcjEiIGlzIGEgc3BhY2UsIHJldHVybiAiY2hhcjIiIHwgMHg4MC4KICovCiAgICBzdGF0aWMgaW50CmdldGV4YWN0ZGlncmFwaChjaGFyMSwgY2hhcjIsIG1ldGEpCiAgICBpbnQJCWNoYXIxOwogICAgaW50CQljaGFyMjsKICAgIGludAkJbWV0YTsKewogICAgaW50CQlpOwogICAgaW50CQlyZXR2YWwgPSAwOwogICAgZGlncl9UCSpkcDsKCiAgICBpZiAoSVNfU1BFQ0lBTChjaGFyMSkgfHwgSVNfU1BFQ0lBTChjaGFyMikpCglyZXR1cm4gY2hhcjI7CgogICAgLyoKICAgICAqIFNlYXJjaCB1c2VyIGRpZ3JhcGhzIGZpcnN0LgogICAgICovCiAgICBkcCA9IChkaWdyX1QgKil1c2VyX2RpZ3JhcGhzLmdhX2RhdGE7CiAgICBmb3IgKGkgPSAwOyBpIDwgdXNlcl9kaWdyYXBocy5nYV9sZW47ICsraSkKICAgIHsKCWlmICgoaW50KWRwLT5jaGFyMSA9PSBjaGFyMSAmJiAoaW50KWRwLT5jaGFyMiA9PSBjaGFyMikKCXsKCSAgICByZXR2YWwgPSBkcC0+cmVzdWx0OwoJICAgIGJyZWFrOwoJfQoJKytkcDsKICAgIH0KCiAgICAvKgogICAgICogU2VhcmNoIGRlZmF1bHQgZGlncmFwaHMuCiAgICAgKi8KICAgIGlmIChyZXR2YWwgPT0gMCkKICAgIHsKCWRwID0gZGlncmFwaGRlZmF1bHQ7Cglmb3IgKGkgPSAwOyBkcC0+Y2hhcjEgIT0gMDsgKytpKQoJewoJICAgIGlmICgoaW50KWRwLT5jaGFyMSA9PSBjaGFyMSAmJiAoaW50KWRwLT5jaGFyMiA9PSBjaGFyMikKCSAgICB7CgkJcmV0dmFsID0gZHAtPnJlc3VsdDsKCQlicmVhazsKCSAgICB9CgkgICAgKytkcDsKCX0KICAgIH0KI2lmZGVmIEZFQVRfTUJZVEUKIyBpZmRlZiBVU0VfVU5JQ09ERV9ESUdSQVBIUwogICAgaWYgKHJldHZhbCAhPSAwICYmICFlbmNfdXRmOCkKICAgIHsKCWNoYXJfdQkgICAgYnVmWzZdLCAqdG87Cgl2aW1jb252X1QgICB2YzsKCgkvKgoJICogQ29udmVydCB0aGUgVW5pY29kZSBkaWdyYXBoIHRvICdlbmNvZGluZycuCgkgKi8KCWkgPSB1dGZfY2hhcjJieXRlcyhyZXR2YWwsIGJ1Zik7CglyZXR2YWwgPSAwOwoJdmMudmNfdHlwZSA9IENPTlZfTk9ORTsKCWlmIChjb252ZXJ0X3NldHVwKCZ2YywgKGNoYXJfdSAqKSJ1dGYtOCIsIHBfZW5jKSA9PSBPSykKCXsKCSAgICB2Yy52Y19mYWlsID0gVFJVRTsKCSAgICB0byA9IHN0cmluZ19jb252ZXJ0KCZ2YywgYnVmLCAmaSk7CgkgICAgaWYgKHRvICE9IE5VTEwpCgkgICAgewoJCXJldHZhbCA9ICgqbWJfcHRyMmNoYXIpKHRvKTsKCQl2aW1fZnJlZSh0byk7CgkgICAgfQoJICAgICh2b2lkKWNvbnZlcnRfc2V0dXAoJnZjLCBOVUxMLCBOVUxMKTsKCX0KICAgIH0KIyBlbmRpZgoKICAgIC8qIElnbm9yZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgd2hlbiBub3QgaW4gbXVsdGktYnl0ZSBtb2RlLiAqLwogICAgaWYgKCFoYXNfbWJ5dGUgJiYgcmV0dmFsID4gMHhmZikKCXJldHZhbCA9IDA7CiNlbmRpZgoKICAgIGlmIChyZXR2YWwgPT0gMCkJCS8qIGRpZ3JhcGggZGVsZXRlZCBvciBub3QgZm91bmQgKi8KICAgIHsKCWlmIChjaGFyMSA9PSAnICcgJiYgbWV0YSkJLyogPHNwYWNlPiA8Y2hhcj4gLS0+IG1ldGEtY2hhciAqLwoJICAgIHJldHVybiAoY2hhcjIgfCAweDgwKTsKCXJldHVybiBjaGFyMjsKICAgIH0KICAgIHJldHVybiByZXR2YWw7Cn0KCi8qCiAqIEdldCBkaWdyYXBoLgogKiBBbGxvdyBmb3IgYm90aCBjaGFyMS1jaGFyMiBhbmQgY2hhcjItY2hhcjEKICovCiAgICBpbnQKZ2V0ZGlncmFwaChjaGFyMSwgY2hhcjIsIG1ldGEpCiAgICBpbnQJY2hhcjE7CiAgICBpbnQJY2hhcjI7CiAgICBpbnQJbWV0YTsKewogICAgaW50CSAgICByZXR2YWw7CgogICAgaWYgKCgocmV0dmFsID0gZ2V0ZXhhY3RkaWdyYXBoKGNoYXIxLCBjaGFyMiwgbWV0YSkpID09IGNoYXIyKQoJICAgICYmIChjaGFyMSAhPSBjaGFyMikKCSAgICAmJiAoKHJldHZhbCA9IGdldGV4YWN0ZGlncmFwaChjaGFyMiwgY2hhcjEsIG1ldGEpKSA9PSBjaGFyMSkpCglyZXR1cm4gY2hhcjI7CiAgICByZXR1cm4gcmV0dmFsOwp9CgovKgogKiBBZGQgdGhlIGRpZ3JhcGhzIGluIHRoZSBhcmd1bWVudCB0byB0aGUgZGlncmFwaCB0YWJsZS4KICogZm9ybWF0OiB7YzF9e2MyfSBjaGFyIHtjMX17YzJ9IGNoYXIgLi4uCiAqLwogICAgdm9pZApwdXRkaWdyYXBoKHN0cikKICAgIGNoYXJfdSAqc3RyOwp7CiAgICBpbnQJCWNoYXIxLCBjaGFyMiwgbjsKICAgIGludAkJaTsKICAgIGRpZ3JfVAkqZHA7CgogICAgd2hpbGUgKCpzdHIgIT0gTlVMKQogICAgewoJc3RyID0gc2tpcHdoaXRlKHN0cik7CglpZiAoKnN0ciA9PSBOVUwpCgkgICAgcmV0dXJuOwoJY2hhcjEgPSAqc3RyKys7CgljaGFyMiA9ICpzdHIrKzsKCWlmIChjaGFyMiA9PSAwKQoJewoJICAgIEVNU0coXyhlX2ludmFyZykpOwoJICAgIHJldHVybjsKCX0KCWlmIChjaGFyMSA9PSBFU0MgfHwgY2hhcjIgPT0gRVNDKQoJewoJICAgIEVNU0coXygiRTEwNDogRXNjYXBlIG5vdCBhbGxvd2VkIGluIGRpZ3JhcGgiKSk7CgkgICAgcmV0dXJuOwoJfQoJc3RyID0gc2tpcHdoaXRlKHN0cik7CglpZiAoIVZJTV9JU0RJR0lUKCpzdHIpKQoJewoJICAgIEVNU0coXyhlX251bWJlcl9leHApKTsKCSAgICByZXR1cm47Cgl9CgluID0gZ2V0ZGlnaXRzKCZzdHIpOwoKCS8qIElmIHRoZSBkaWdyYXBoIGFscmVhZHkgZXhpc3RzLCByZXBsYWNlIHRoZSByZXN1bHQuICovCglkcCA9IChkaWdyX1QgKil1c2VyX2RpZ3JhcGhzLmdhX2RhdGE7Cglmb3IgKGkgPSAwOyBpIDwgdXNlcl9kaWdyYXBocy5nYV9sZW47ICsraSkKCXsKCSAgICBpZiAoKGludClkcC0+Y2hhcjEgPT0gY2hhcjEgJiYgKGludClkcC0+Y2hhcjIgPT0gY2hhcjIpCgkgICAgewoJCWRwLT5yZXN1bHQgPSBuOwoJCWJyZWFrOwoJICAgIH0KCSAgICArK2RwOwoJfQoKCS8qIEFkZCBhIG5ldyBkaWdyYXBoIHRvIHRoZSB0YWJsZS4gKi8KCWlmIChpID09IHVzZXJfZGlncmFwaHMuZ2FfbGVuKQoJewoJICAgIGlmIChnYV9ncm93KCZ1c2VyX2RpZ3JhcGhzLCAxKSA9PSBPSykKCSAgICB7CgkJZHAgPSAoZGlncl9UICopdXNlcl9kaWdyYXBocy5nYV9kYXRhICsgdXNlcl9kaWdyYXBocy5nYV9sZW47CgkJZHAtPmNoYXIxID0gY2hhcjE7CgkJZHAtPmNoYXIyID0gY2hhcjI7CgkJZHAtPnJlc3VsdCA9IG47CgkJKyt1c2VyX2RpZ3JhcGhzLmdhX2xlbjsKCSAgICB9Cgl9CiAgICB9Cn0KCiAgICB2b2lkCmxpc3RkaWdyYXBocygpCnsKICAgIGludAkJaTsKICAgIGRpZ3JfVAkqZHA7CgogICAgbXNnX3B1dGNoYXIoJ1xuJyk7CgogICAgZHAgPSBkaWdyYXBoZGVmYXVsdDsKICAgIGZvciAoaSA9IDA7IGRwLT5jaGFyMSAhPSBOVUwgJiYgIWdvdF9pbnQ7ICsraSkKICAgIHsKI2lmIGRlZmluZWQoVVNFX1VOSUNPREVfRElHUkFQSFMpICYmIGRlZmluZWQoRkVBVF9NQllURSkKCWRpZ3JfVCB0bXA7CgoJLyogTWF5IG5lZWQgdG8gY29udmVydCB0aGUgcmVzdWx0IHRvICdlbmNvZGluZycuICovCgl0bXAuY2hhcjEgPSBkcC0+Y2hhcjE7Cgl0bXAuY2hhcjIgPSBkcC0+Y2hhcjI7Cgl0bXAucmVzdWx0ID0gZ2V0ZXhhY3RkaWdyYXBoKHRtcC5jaGFyMSwgdG1wLmNoYXIyLCBGQUxTRSk7CglpZiAodG1wLnJlc3VsdCAhPSAwICYmIHRtcC5yZXN1bHQgIT0gdG1wLmNoYXIyCgkJCQkJICAmJiAoaGFzX21ieXRlIHx8IHRtcC5yZXN1bHQgPD0gMjU1KSkKCSAgICBwcmludGRpZ3JhcGgoJnRtcCk7CiNlbHNlCgoJaWYgKGdldGV4YWN0ZGlncmFwaChkcC0+Y2hhcjEsIGRwLT5jaGFyMiwgRkFMU0UpID09IGRwLT5yZXN1bHQKIyBpZmRlZiBGRUFUX01CWVRFCgkJJiYgKGhhc19tYnl0ZSB8fCBkcC0+cmVzdWx0IDw9IDI1NSkKIyBlbmRpZgoJCSkKCSAgICBwcmludGRpZ3JhcGgoZHApOwojZW5kaWYKCSsrZHA7Cgl1aV9icmVha2NoZWNrKCk7CiAgICB9CgogICAgZHAgPSAoZGlncl9UICopdXNlcl9kaWdyYXBocy5nYV9kYXRhOwogICAgZm9yIChpID0gMDsgaSA8IHVzZXJfZGlncmFwaHMuZ2FfbGVuICYmICFnb3RfaW50OyArK2kpCiAgICB7CglwcmludGRpZ3JhcGgoZHApOwoJdWlfYnJlYWtjaGVjaygpOwoJKytkcDsKICAgIH0KICAgIG11c3RfcmVkcmF3ID0gQ0xFQVI7ICAgIC8qIGNsZWFyIHNjcmVlbiwgYmVjYXVzZSBzb21lIGRpZ3JhcGhzIG1heSBiZQoJCQkgICAgICAgd3JvbmcsIGluIHdoaWNoIGNhc2Ugd2UgbWVzc2VkIHVwIFNjcmVlbkxpbmVzICovCn0KCiAgICBzdGF0aWMgdm9pZApwcmludGRpZ3JhcGgoZHApCiAgICBkaWdyX1QJKmRwOwp7CiAgICBjaGFyX3UJYnVmWzMwXTsKICAgIGNoYXJfdQkqcDsKCiAgICBpbnQJCWxpc3Rfd2lkdGg7CgogICAgaWYgKChkeV9mbGFncyAmIERZX1VIRVgpCiNpZmRlZiBGRUFUX01CWVRFCgkgICAgfHwgaGFzX21ieXRlCiNlbmRpZgoJICAgICkKCWxpc3Rfd2lkdGggPSAxMzsKICAgIGVsc2UKCWxpc3Rfd2lkdGggPSAxMTsKCiAgICBpZiAoZHAtPnJlc3VsdCAhPSAwKQogICAgewoJaWYgKG1zZ19jb2wgPiBDb2x1bW5zIC0gbGlzdF93aWR0aCkKCSAgICBtc2dfcHV0Y2hhcignXG4nKTsKCWlmIChtc2dfY29sKQoJICAgIHdoaWxlIChtc2dfY29sICUgbGlzdF93aWR0aCAhPSAwKQoJCW1zZ19wdXRjaGFyKCcgJyk7CgoJcCA9IGJ1ZjsKCSpwKysgPSBkcC0+Y2hhcjE7CgkqcCsrID0gZHAtPmNoYXIyOwoJKnArKyA9ICcgJzsKI2lmZGVmIEZFQVRfTUJZVEUKCWlmIChoYXNfbWJ5dGUpCgl7CgkgICAgLyogYWRkIGEgc3BhY2UgdG8gZHJhdyBhIGNvbXBvc2luZyBjaGFyIG9uICovCgkgICAgaWYgKGVuY191dGY4ICYmIHV0Zl9pc2NvbXBvc2luZyhkcC0+cmVzdWx0KSkKCQkqcCsrID0gJyAnOwoJICAgIHAgKz0gKCptYl9jaGFyMmJ5dGVzKShkcC0+cmVzdWx0LCBwKTsKCX0KCWVsc2UKI2VuZGlmCgkgICAgKnArKyA9IGRwLT5yZXN1bHQ7CglpZiAoY2hhcjJjZWxscyhkcC0+cmVzdWx0KSA9PSAxKQoJICAgICpwKysgPSAnICc7CglzcHJpbnRmKChjaGFyICopcCwgIiAlM2QiLCBkcC0+cmVzdWx0KTsKCW1zZ19vdXR0cmFucyhidWYpOwogICAgfQp9CgojZW5kaWYgLyogRkVBVF9ESUdSQVBIUyAqLwoKI2lmIGRlZmluZWQoRkVBVF9LRVlNQVApIHx8IGRlZmluZWQoUFJPVE8pCgovKiBzdHJ1Y3R1cmUgdXNlZCBmb3IgYl9rbWFwX2dhLmdhX2RhdGEgKi8KdHlwZWRlZiBzdHJ1Y3QKewogICAgY2hhcl91CSpmcm9tOwogICAgY2hhcl91CSp0bzsKfSBrbWFwX1Q7CgojZGVmaW5lIEtNQVBfTUFYTEVOIDIwCSAgICAvKiBtYXhpbXVtIGxlbmd0aCBvZiAiZnJvbSIgb3IgInRvIiAqLwoKc3RhdGljIHZvaWQga2V5bWFwX3VubG9hZCBfX0FSR1MoKHZvaWQpKTsKCi8qCiAqIFNldCB1cCBrZXkgbWFwcGluZyB0YWJsZXMgZm9yIHRoZSAna2V5bWFwJyBvcHRpb24KICovCiAgICBjaGFyX3UgKgprZXltYXBfaW5pdCgpCnsKICAgIGN1cmJ1Zi0+Yl9rbWFwX3N0YXRlICY9IH5LRVlNQVBfSU5JVDsKCiAgICBpZiAoKmN1cmJ1Zi0+Yl9wX2tleW1hcCA9PSBOVUwpCiAgICB7CgkvKiBTdG9wIGFueSBhY3RpdmUga2V5bWFwIGFuZCBjbGVhciB0aGUgdGFibGUuICovCglrZXltYXBfdW5sb2FkKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CgljaGFyX3UJKmJ1ZjsKCgkvKiBTb3VyY2UgdGhlIGtleW1hcCBmaWxlLiAgSXQgd2lsbCBjb250YWluIGEgIjpsb2Fka2V5bWFwIiBjb21tYW5kCgkgKiB3aGljaCB3aWxsIGNhbGwgZXhfbG9hZGtleW1hcCgpIGJlbG93LiAqLwoJYnVmID0gYWxsb2MoKHVuc2lnbmVkKShTVFJMRU4oY3VyYnVmLT5iX3Bfa2V5bWFwKQojIGlmZGVmIEZFQVRfTUJZVEUKCQkJCQkJICAgICAgICsgU1RSTEVOKHBfZW5jKQojIGVuZGlmCgkJCQkJCSAgICAgICArIDE0KSk7CglpZiAoYnVmID09IE5VTEwpCgkgICAgcmV0dXJuIGVfb3V0b2ZtZW07CgojIGlmZGVmIEZFQVRfTUJZVEUKCS8qIHRyeSBmaW5kaW5nICJrZXltYXAvJ2tleW1hcCdfJ2VuY29kaW5nJy52aW0iICBpbiAncnVudGltZXBhdGgnICovCglzcHJpbnRmKChjaGFyICopYnVmLCAia2V5bWFwLyVzXyVzLnZpbSIsIGN1cmJ1Zi0+Yl9wX2tleW1hcCwgcF9lbmMpOwoJaWYgKGNtZF9ydW50aW1lKGJ1ZiwgRkFMU0UpID09IEZBSUwpCiMgZW5kaWYKCXsKCSAgICAvKiB0cnkgZmluZGluZyAia2V5bWFwLydrZXltYXAnLnZpbSIgaW4gJ3J1bnRpbWVwYXRoJyAgKi8KCSAgICBzcHJpbnRmKChjaGFyICopYnVmLCAia2V5bWFwLyVzLnZpbSIsIGN1cmJ1Zi0+Yl9wX2tleW1hcCk7CgkgICAgaWYgKGNtZF9ydW50aW1lKGJ1ZiwgRkFMU0UpID09IEZBSUwpCgkgICAgewoJCXZpbV9mcmVlKGJ1Zik7CgkJcmV0dXJuIChjaGFyX3UgKilOXygiRTU0NDogS2V5bWFwIGZpbGUgbm90IGZvdW5kIik7CgkgICAgfQoJfQoJdmltX2ZyZWUoYnVmKTsKICAgIH0KCiAgICByZXR1cm4gTlVMTDsKfQoKLyoKICogIjpsb2Fka2V5bWFwIiBjb21tYW5kOiBsb2FkIHRoZSBmb2xsb3dpbmcgbGluZXMgYXMgdGhlIGtleW1hcC4KICovCiAgICB2b2lkCmV4X2xvYWRrZXltYXAoZWFwKQogICAgZXhhcmdfVAkqZWFwOwp7CiAgICBjaGFyX3UJKmxpbmU7CiAgICBjaGFyX3UJKnA7CiAgICBjaGFyX3UJKnM7CiAgICBrbWFwX1QJKmtwOwojZGVmaW5lIEtNQVBfTExFTiAgIDIwMAkgICAgLyogbWF4IGxlbmd0aCBvZiAidG8iIGFuZCAiZnJvbSIgdG9nZXRoZXIgKi8KICAgIGNoYXJfdQlidWZbS01BUF9MTEVOICsgMTFdOwogICAgaW50CQlpOwogICAgY2hhcl91CSpzYXZlX2NwbyA9IHBfY3BvOwoKICAgIGlmICghZ2V0bGluZV9lcXVhbChlYXAtPmdldGxpbmUsIGVhcC0+Y29va2llLCBnZXRzb3VyY2VsaW5lKSkKICAgIHsKCUVNU0coXygiRTEwNTogVXNpbmcgOmxvYWRrZXltYXAgbm90IGluIGEgc291cmNlZCBmaWxlIikpOwoJcmV0dXJuOwogICAgfQoKICAgIC8qCiAgICAgKiBTdG9wIGFueSBhY3RpdmUga2V5bWFwIGFuZCBjbGVhciB0aGUgdGFibGUuCiAgICAgKi8KICAgIGtleW1hcF91bmxvYWQoKTsKCiAgICBjdXJidWYtPmJfa21hcF9zdGF0ZSA9IDA7CiAgICBnYV9pbml0MigmY3VyYnVmLT5iX2ttYXBfZ2EsIChpbnQpc2l6ZW9mKGttYXBfVCksIDIwKTsKCiAgICAvKiBTZXQgJ2Nwb3B0aW9ucycgdG8gIkMiIHRvIGF2b2lkIGxpbmUgY29udGludWF0aW9uLiAqLwogICAgcF9jcG8gPSAoY2hhcl91ICopIkMiOwoKICAgIC8qCiAgICAgKiBHZXQgZWFjaCBsaW5lIG9mIHRoZSBzb3VyY2VkIGZpbGUsIGJyZWFrIGF0IHRoZSBlbmQuCiAgICAgKi8KICAgIGZvciAoOzspCiAgICB7CglsaW5lID0gZWFwLT5nZXRsaW5lKDAsIGVhcC0+Y29va2llLCAwKTsKCWlmIChsaW5lID09IE5VTEwpCgkgICAgYnJlYWs7CgoJcCA9IHNraXB3aGl0ZShsaW5lKTsKCWlmICgqcCAhPSAnIicgJiYgKnAgIT0gTlVMICYmIGdhX2dyb3coJmN1cmJ1Zi0+Yl9rbWFwX2dhLCAxKSA9PSBPSykKCXsKCSAgICBrcCA9IChrbWFwX1QgKiljdXJidWYtPmJfa21hcF9nYS5nYV9kYXRhICsgY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfbGVuOwoJICAgIHMgPSBza2lwdG93aGl0ZShwKTsKCSAgICBrcC0+ZnJvbSA9IHZpbV9zdHJuc2F2ZShwLCAoaW50KShzIC0gcCkpOwoJICAgIHAgPSBza2lwd2hpdGUocyk7CgkgICAgcyA9IHNraXB0b3doaXRlKHApOwoJICAgIGtwLT50byA9IHZpbV9zdHJuc2F2ZShwLCAoaW50KShzIC0gcCkpOwoKCSAgICBpZiAoa3AtPmZyb20gPT0gTlVMTCB8fCBrcC0+dG8gPT0gTlVMTAoJCSAgICB8fCBTVFJMRU4oa3AtPmZyb20pICsgU1RSTEVOKGtwLT50bykgPj0gS01BUF9MTEVOKQoJICAgIHsKCQl2aW1fZnJlZShrcC0+ZnJvbSk7CgkJdmltX2ZyZWUoa3AtPnRvKTsKCSAgICB9CgkgICAgZWxzZQoJCSsrY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfbGVuOwoJfQoJdmltX2ZyZWUobGluZSk7CiAgICB9CgogICAgLyoKICAgICAqIHNldHVwICI6bG5vcmVtYXAiIHRvIG1hcCB0aGUga2V5cwogICAgICovCiAgICBmb3IgKGkgPSAwOyBpIDwgY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfbGVuOyArK2kpCiAgICB7Cgl2aW1fc25wcmludGYoKGNoYXIgKilidWYsIHNpemVvZihidWYpLCAiPGJ1ZmZlcj4gJXMgJXMiLAoJCQkJKChrbWFwX1QgKiljdXJidWYtPmJfa21hcF9nYS5nYV9kYXRhKVtpXS5mcm9tLAoJCQkJICgoa21hcF9UICopY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfZGF0YSlbaV0udG8pOwoJKHZvaWQpZG9fbWFwKDIsIGJ1ZiwgTEFOR01BUCwgRkFMU0UpOwogICAgfQoKICAgIHBfY3BvID0gc2F2ZV9jcG87CgogICAgY3VyYnVmLT5iX2ttYXBfc3RhdGUgfD0gS0VZTUFQX0xPQURFRDsKI2lmZGVmIEZFQVRfV0lORE9XUwogICAgc3RhdHVzX3JlZHJhd19jdXJidWYoKTsKI2VuZGlmCn0KCi8qCiAqIFN0b3AgdXNpbmcgJ2tleW1hcCcuCiAqLwogICAgc3RhdGljIHZvaWQKa2V5bWFwX3VubG9hZCgpCnsKICAgIGNoYXJfdQlidWZbS01BUF9NQVhMRU4gKyAxMF07CiAgICBpbnQJCWk7CiAgICBjaGFyX3UJKnNhdmVfY3BvID0gcF9jcG87CgogICAgaWYgKCEoY3VyYnVmLT5iX2ttYXBfc3RhdGUgJiBLRVlNQVBfTE9BREVEKSkKCXJldHVybjsKCiAgICAvKiBTZXQgJ2Nwb3B0aW9ucycgdG8gIkMiIHRvIGF2b2lkIGxpbmUgY29udGludWF0aW9uLiAqLwogICAgcF9jcG8gPSAoY2hhcl91ICopIkMiOwoKICAgIC8qIGNsZWFyIHRoZSAiOmxtYXAicyAqLwogICAgZm9yIChpID0gMDsgaSA8IGN1cmJ1Zi0+Yl9rbWFwX2dhLmdhX2xlbjsgKytpKQogICAgewoJdmltX3NucHJpbnRmKChjaGFyICopYnVmLCBzaXplb2YoYnVmKSwgIjxidWZmZXI+ICVzIiwKCQkJICAgICAgICgoa21hcF9UICopY3VyYnVmLT5iX2ttYXBfZ2EuZ2FfZGF0YSlbaV0uZnJvbSk7Cgkodm9pZClkb19tYXAoMSwgYnVmLCBMQU5HTUFQLCBGQUxTRSk7CiAgICB9CgogICAgcF9jcG8gPSBzYXZlX2NwbzsKCiAgICBnYV9jbGVhcigmY3VyYnVmLT5iX2ttYXBfZ2EpOwogICAgY3VyYnVmLT5iX2ttYXBfc3RhdGUgJj0gfktFWU1BUF9MT0FERUQ7CiNpZmRlZiBGRUFUX1dJTkRPV1MKICAgIHN0YXR1c19yZWRyYXdfY3VyYnVmKCk7CiNlbmRpZgp9CgojZW5kaWYgLyogRkVBVF9LRVlNQVAgKi8KCg==