REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 44.82 KB
Close
/proc/self/root/proc/thread-self/root/proc/self/root/opt/alt/ruby19/share/doc/alt-ruby19/README.EXT.ja
Text
Base64
LlwiIFJFQURNRS5FWFQuamEgLSAgLSotIFRleHQgLSotIGNyZWF0ZWQgYXQ6IE1vbiBBdWcgIDcgMTY6NDU6NTQgSlNUIDE5OTUKClJ1YnmkzrPIxKWl6aWkpdal6aXqpM667qTqyv2k8sDizMCkt6TepLmhpQoKMaGltPDBw8POvLEKCkOkzsrRv/Sky6TPt7+krKSipOqhpKXHobylv6TLpM+3v6SspKKk6qTepLuk86GlpMekuaSrpOmhpKS/CqTIpKik0KXdpaSl86W/pPJpbnSkzsrRv/Sky8Llxv6kuaTrpMihpKS9pM7DzaTPwLC/9KTIpLekxrzoCqTqsLek76TspN6kuaGltdWky1J1YnmkzsrRv/Sky6TPt7+krKTKpK+hpKXHobylv6TLt7+krKSipOqk3gqkuaGlpLOkzrDjpKSkzqS/pOGhpEOkyFJ1Ynmkz8HquN+ky8rRtLmkt6TKpLGk7KTQoaSkqrjfpKSkzgqlx6G8pb+k8qWipa+lu6W5pMekraTepLuk86GlCgpSdWJ5pM6lx6G8pb+kz1ZBTFVFpMikpKSmQ6TOt7+kx8m9uL2ktaTspN6kuaGlVkFMVUW3v6TOpcehvAqlv6TPpL2kzqXHobylv6W/paSl16TyvKvKrKTHw86kw6TGpKSk3qS5oaWks6TOpcehvKW/pb+lpKXXpMgKpKSkpqTOpM+lx6G8pb8opaql1qW4paelr6XIKaTOvMK63aTOub3CpKTysNXMo6S3pMakpKTGoaRSdWJ5CqTOpa+l6aW5pMikz6TepL+w46TDpL+k4qTOpMekuaGlCgpWQUxVRaSrpOlDpMukyKTDpMaw1cyjpM6koqTrpcehvKW/pPK86KTqvdCkuaS/pOGky6TPCgogKDEpIFZBTFVFpM6lx6G8pb+lv6Wkpdek8sPOpOsKICgyKSBWQUxVRaTyQ6TOpcehvKW/pMvK0bS5pLmk6woKpM7Ovsr9pKzJrM3XpMekuaGlKDEppPLLuqTspOukyLTWsOOkw6S/pcehvKW/pM7K0bS5pKy51KTvpOwKpMahpLrHsK2l16XtpbCl6aXgpKxjb3JlIGR1bXCkt6TepLmhpQoKMS4xIKXHobylv6W/paSl1woKUnVieaTLpM+l5qG8pbakrLvIpKayxMe9wK2kzqSipOuwyrK8pM6lv6WkpdekrKSipOqk3qS5oaUKCglUX05JTAkJbmlsCglUX09CSkVDVAnEzL7vpM6lqqXWpbilp6WvpcgKCVRfQ0xBU1MJCaWvpemluQoJVF9NT0RVTEUJpeKluKXlobyl6woJVF9GTE9BVAkJyeLGsL6uv/TFwL/0CglUX1NUUklORwnKuLv6zvMKCVRfUkVHRVhQCcC1tazJvbi9CglUX0FSUkFZCQnH287zCglUX0hBU0gJCc+iwdvH287zCglUX1NUUlVDVAkoUnVieaTOKbm9wqTCzgoJVF9CSUdOVU0Jwr/H3MS5wLC/9AoJVF9GSVhOVU0JRml4bnVtKDMxYml0pN6kv6TPNjNiaXTEucCwv/QpCglUX0NPTVBMRVgJyqPBx7/0CglUX1JBVElPTkFMCc2tzf2/9AoJVF9GSUxFCQnG/r3Qzs8KCVRfVFJVRQkJv78KCVRfRkFMU0UJCbW2CglUX0RBVEEJCaXHobylvwoJVF9TWU1CT0wJpbel86XcpesKCqS9pM7CvqTLxuLJ9KTHzfjN0aS1pOykxqSkpOuwyrK8pM6lv6WkpdekrKSipOqk3qS5oaUKCglUX0lDTEFTUwoJVF9NQVRDSAoJVF9VTkRFRgoJVF9OT0RFCglUX1pPTUJJRQoKpNukyKTzpMmkzqW/paSl16TPQ6TOub3CpMLOpMe8wsH1pLWk7KTGpKSk3qS5oaUKCjEuMiBWQUxVRaTOpcehvKW/pb+lpKXXpPKlwaWnpcOlr6S5pOsKCnJ1YnkuaKTHpM9UWVBFKCmkyKSkpKal3qWvpe2krMTqtcGktaTspMakpKTGoaRWQUxVRaTOpcehvKW/CqW/paSl16Tyw86k66SzpMikrL3Qzeik3qS5oaVUWVBFKCml3qWvpe2kz77lpMe+0rLwpLekv1RfWFhYWAqkzrfBvLCkzsTqv/Sk8srWpLek3qS5oaVWQUxVRaTOpcehvKW/pb+lpKXXpMux/qS4pMa96M39pLmk6wq+7LnnpMukz6GkVFlQRSgppM7DzaTHyqy09KS5pOuks6TIpMukyqTqpN6kuaGlCgogIHN3aXRjaCAoVFlQRShvYmopKSB7CiAgICBjYXNlIFRfRklYTlVNOgogICAgICAvKiBGSVhOVU2kzr3ozf0gKi8KICAgICAgYnJlYWs7CiAgICBjYXNlIFRfU1RSSU5HOgogICAgICAvKiDKuLv6zvOkzr3ozf0gKi8KICAgICAgYnJlYWs7CiAgICBjYXNlIFRfQVJSQVk6CiAgICAgIC8qIMfbzvOkzr3ozf0gKi8KICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICAvKiDO47OwpPLIr8C4pLWku6TrICovCiAgICAgIHJiX3JhaXNlKHJiX2VUeXBlRXJyb3IsICJub3QgdmFsaWQgdmFsdWUiKTsKICAgICAgYnJlYWs7CiAgfQoKpL2k7KTIpcehvKW/pb+lpKXXpPKlwaWnpcOlr6S3pMahpMC1pLekr6TKpLGk7KTQzuOzsKTyyK/AuKS5CqTrtNi/9KSszdGw1aS1pOykxqSkpN6kuaGlCgogIHZvaWQgQ2hlY2tfVHlwZShWQUxVRSB2YWx1ZSwgaW50IHR5cGUpCgqks6TOtNi/9KTPdmFsdWWkrHR5cGWkx8y1pLGk7KTQoaTO47OwpPLIr8C4pLWku6TepLmhpbD6v/SkyAqkt6TGzb+kqKTppOykv1ZBTFVFpM6lx6G8pb+lv6WkpdekrMC1pLekpKSrpMmkpqSrpcGlp6XDpa+kuQqk66S/pOGky6TPoaSks6TOtNi/9KTyu8ikpKTepLmhpQoKRklYTlVNpMhOSUyky7TYpLekxqTPpOik6rniwq6kysi9ysyl3qWvpe2krM3RsNWktaTspMakpKTepLmhpQoKICBGSVhOVU1fUChvYmopCiAgTklMX1Aob2JqKQoKMS4zIFZBTFVFpPJDpM6lx6G8pb+ky8rRtLmkuaTrCgqlx6G8pb+lv6WkpdekrFRfTklMoaRUX0ZBTFNFoaRUX1RSVUWkx6SipOu7/qGkpcehvKW/pM+kvaTspL4KpOxuaWyhpGZhbHNloaR0cnVlpMekuaGlpLOkzqXHobylv6W/paSl16TOpaql1qW4paelr6XIpM+k0qTICqTEpLqkxKS3pKvCuLrfpLek3qS7pPOhpQoKpcehvKW/pb+lpKXXpKxUX0ZJWE5VTaTOu/6hpKSzpOykzzMxYml0pN6kv6TPNjNiaXSkzqW1paSluqTyCrv9pMTAsL/0pMekuaGlbG9uZ6TOpbWlpKW6pKwzMmJpdKTOpdel6aXDpcil1aWpobyl4KTHpKKk7KTQCjMxYml0pMuhpGxvbmekzqW1paSluqSsNjRiaXSkzqXXpemlw6XIpdWlqaG8peCkx6SipOyk0DYzYml0CqTLpMqk6qTepLkuIEZJWE5VTSCk8iBDIKTOwLC/9KTLytG0uaS5pOukv6ThpMukz6Xepa+l7Qqh1kZJWDJJTlQoKaHXpN6kv6TPodZGSVgyTE9ORygpodek8rvIpKSk3qS5oaWks6TspOmkzqXepa+l7Qqk8rvIzdGkuaTrut2ky6TPu/bBsKTLpcehvKW/pb+lpKXXpKxGSVhOVU2kx6SipOuks6TIpPKzzsenpLkKpOvJrM3XpKykoqTqpN6kuaSsoaTI5rPTxaq54sKupMvK0bS5pPK51KSmpLOkyKSspMekraTepLmhpaTeCqS/oaSh1kZJWDJMT05HKCmh16TPzuOzsKTyyK/AuKS3pN6ku6TzpKyhpKHWRklYMklOVCgpodekz8rRCrS5t+uyzKSsaW50pM6ltaWkpbqky7z9pN6k6aTKpKS+7LnnpMukz87js7Ck8sivwLikt6TepLmhpQqkvaTspKuk6aGkRklYTlVNpMu4wqTppLpSdWJ5pM6lx6G8pb+k8sCwv/Sky8rRtLmkuaTrCqHWTlVNMklOVCgpodekqqTopNOh1k5VTTJMT05HKCmh16TIpKSkpqXepa+l7aSspKKk6qTepLmhpaSzCqTspOmkzqXepa+l7aTPpd6lr6XtpM+lx6G8pb+lv6WkpdekzqXBpaelw6WvzLWkt6THu8ikqKTepLkKKMCwv/Sky8rRtLmkx6StpMqkpL7sueeky6TPzuOzsKSsyK/AuKS5pOspoaXGsc3NpMulwaWnpcOlr8y1CqTHu8ikqKTrytG0uaXepa+l7aTPZG91YmxlpPK86KTqvdCkuaHWTlVNMkRCTCgpodekrKSipOqk3qS5oaUKCmNoYXIqIKTyvOik6r3QpLm+7LnnoaQgU3RyaW5nVmFsdWUoKSCkyCBTdHJpbmdWYWx1ZVB0cigpIAqk8rvIpKSk3qS5oaUKU3RyaW5nVmFsdWUodmFyKSCkzyB2YXIgpKwgU3RyaW5nIAqkx6SipOyk0LK/pOKku6S6oaSkvaSmpMekyqSxpOyk0CB2YXIgpPIgdmFyLnRvX3N0cigpIKTOt+uyzAqky8PWpK20uaSopOul3qWvpe2hpFN0cmluZ1ZhbHVlUHRyKHZhcikgpM/Gsc3NpMsgdmFyIKTyClN0cmluZyCky8PWpK20uaSopMakq6TpIHZhciCkzqXQpaSlyM7zyb24vaTLwtCkuaTrIGNoYXIqIKTyCsrWpLml3qWvpe2kx6S5oaV2YXIgpM7G4s3GpPLEvsDcw9akrbS5pKik673ozf2krMb+pOukzqTHoaQKdmFyIKTPIGx2YWx1ZSCkx6SipOvJrM3XpKykoqTqpN6kuaGlCqTepL+hpFN0cmluZ1ZhbHVlUHRyKCkgpMvO4Lv3pLekvyBTdHJpbmdWYWx1ZUNTdHIoKSCkyKSkpKal3gqlr6XtpOKkoqTqpN6kuaGlU3RyaW5nVmFsdWVDU3RyKHZhcikgpM8gdmFyIKTyIFN0cmluZyCky8PWpK0KtLmkqKTGpKuk6SB2YXIgpM7KuLv6zvPJvbi9pMvC0KS5pOsgY2hhciogpPLK1qS3pN6kuaGlytaktaTsCqTryri7+s7zpM7L9sj4pMukzyBudWwgyri7+qSsydWyw6S1pOyk3qS5oaWkyqSqoaTF08PmpMsgbnVsCsq4u/qkrLTepN6k7KTrvuy556TPIEFyZ3VtZW50RXJyb3IgpKzIr8C4pLek3qS5oaUKsOzK/aGkU3RyaW5nVmFsdWVQdHIoKSCkx6TPoaTL9sj4pMsgbnVsIMq4u/qkrKSipOvK3b7apM+kyqSvoaQKxdPD5qTLIG51bCDKuLv6pKy03qTepOykxqSkpOuyxMe9wK2k4qSipOqk3qS5oaUKCqS9pOywyrOwpM6lx6G8pb+lv6Wkpdekz8LQsf6kuaTrQ6TOub3CpMLOpKykoqTqpN6kuaGlwtCx/qS5CqTrub3CpMLOpM6koqTrVkFMVUWkz6S9pM6k3qTepa2l46W5pcgot7/K0bS5KaS5pOyk0Lm9wqTCzqTOCqXdpaSl86W/pMvK0bS5pMekraTepLmhpQoKub3CpMLOpM+h1nN0cnVjdCBSWHh4eHih16TIpKSkpsy+wbCkx3J1YnkuaKTHxOq1waS1pOykxqSkpN4KpLmhpc7jpKik0Mq4u/rO86TPodZzdHJ1Y3QgUlN0cmluZ6HXpMekuaGlvMK63aTLu8ikprLEx73AraSsCqSipOukzqTPyri7+s7zpMjH287zpK+k6aSkpMCkyLvXpKSk3qS5oaUKCnJ1YnkuaKTHpM+5vcKkws6k2KWtpeOluaXIpLmk66Xepa+l7aTiodZSWFhYWFgoKaHXKMG0yfTC58q4Crv6pMukt6S/pOKkzimkyKSkpKbMvsGwpMfE87ahpLWk7KTGpKSk3qS5KM7jOiBSU1RSSU5HKCkpoaUKCrm9wqTCzqSrpOmlx6G8pb+k8rzopOq90KS5pd6lr6XtpKzE87ahpLWk7KTGpKSk3qS5oaXKuLv6zvMKc3RypM7EuaS1pPLGwKTrpL+k4aTLpM+h1lJTVFJJTkdfTEVOKHN0cimh16TIpLehpMq4u/rO83N0cqTyCmNoYXIqpMikt6TGxsCk66S/pOGky6TPodZSU1RSSU5HX1BUUihzdHIpodekyKS3pN6kuaGlx9vO86TOCr7sueeky6TPoaSkvaTspL6k7KHWUkFSUkFZX0xFTihhcnkpodehpKHWUkFSUkFZX1BUUihhcnkpodekyAqkyqTqpN6kuaGlCgpSdWJ5pM65vcKkws6k8sS+wNyloqWvpbuluaS5pOu7/qTLtaSk8qTEpLGkyqSxpOyk0KTKpOmkyqSkpLMKpMikz6Gkx9vO86Tkyri7+s7zpM65vcKkws6kzsPmv8ikz7uyvsikuaTrpMCksaTHoaTEvsDcytG5uaS3CqTKpKSks6TIpMekuaGlxL7A3MrRubmkt6S/vuy556Gkpaql1qW4paelr6XIpM7G4s3GpM7AsLnnwK2krAqkyKTspMqkr6TKpMOkxqGku9ek76TMpdClsKTOuLaw+KTLpMqk6qTepLmhpQoKMS40IEOkzqXHobylv6TyVkFMVUWky8rRtLmkuaTrCgpWQUxVRaTOvMK63aTOub3CpKTPCgogICogRklYTlVNpM6+7LnnCgogICAgMWJpdLq4pbel1aXIpLekxqGkTFNCpPLOqaTGpOuhpQoKICAqIKS9pM7CvqTOpd2lpKXzpb+kzr7suecKCiAgICCkvaTOpN6k3lZBTFVFpMulraXjpbmlyKS5pOuhpQoKpMikyqTDpMakpKTepLmhpaTopMOkxqGkTFNCpPKlwaWnpcOlr6S5pOyk0FZBTFVFpKxGSVhOVU2kq6TJCqSmpKuk76SrpOuk76SxpMekuSil3aWkpfOlv6TOTFNCpKzOqaTDpMakpKTKpKSks6TIpPKyvsTqpLekxgqkpKTrKaGlCgqkx6S5pKuk6aGkRklYTlVNsMqzsKTOUnVieaTOpaql1qW4paelr6XIpM65vcKkws6kz8OxpMtWQUxVRQqky6WtpeOluaXIpLmk66TApLGkx1ZBTFVFpMvK0bS5vdDN6KTepLmhpaS/pMCkt6Gkx6Sw1aTOub3CpArCzqSsVkFMVUWky6WtpeOluaXIvdDN6KTrpO+ksaTHpM+koqTqpN6ku6TzoaWlraXjpbmlyKS5pOukzgqkz1J1YnmkzsPOpMOkxqSkpOu5vcKkws4ocnVieS5opMfE6rXBpLWk7KTGpKSk63N0cnVjdCBSWHh4eAqkzqTipM4ppMCksaTHpLmhpQoKRklYTlVNpMu02KS3pMakz8rRtLml3qWvpe2k8rfQzbOkuaTryazN16SspKKk6qTepLmhpUOkzsCwv/QKpKuk6VZBTFVFpMvK0bS5pLmk66Xepa+l7aTPsMqyvKTOpOKkzqSspKKk6qTepLmhpcmszdeky7H+pLgKpMa7yKSkyqyksaTGpK+kwKS1pKShpQoKICBJTlQyRklYKCkJpOKkyKTOwLC/9KSsMzFiaXSk3qS/pM82M2JpdLDKxuKky7z9pN6k67yrv64KCQmkrKSipOu7/gogIElOVDJOVU0oKQnHpLDVpM7AsL/0pKuk6VZBTFVFpNgKCklOVDJOVU0oKaTPwLC/9KSsRklYTlVNpM7Iz7DPpMu8/aTepOmkyqSkvuy556GkQmlnbnVtpMvK0bS5CqS3pMakr6TspN6kuSikrKGkvq+kt8PZpKQpoaUKCjEuNSBSdWJ5pM6lx6G8pb+k8sHguu6kuaTrCgrA6MT4pOK90qTZpL/EzKTqoaRSdWJ5pM65vcKkws6k8qWipa+lu6W5pLmk67v+pMvG4s3GpM65ub+3pPIKudSkpqSzpMikz7SrpOGk6aTspN6ku6TzoaWkx6GkUnVieaTOpcehvKW/pPLB4LrupLmk67v+pMukzwpSdWJ5pKzN0bDVpLekxqSkpOu02L/0pPLN0aSkpMakr6TApLWkpKGlCgqks6SzpMekz6TipMOkyKTiu8ik76TspOukx6SipO2kpsq4u/rO86TIx9vO86TOwLjAri/B4LrupPK51AqkpLTYv/Sk8qSipLKk3qS5KMG0yfSkx6TPpMqkpKTHpLkpoaUKCiDKuLv6zvOky8LQpLmk67TYv/QKCiAgcmJfc3RyX25ldyhjb25zdCBjaGFyICpwdHIsIGxvbmcgbGVuKQoKICAgIL+3pLekpFJ1Ynmkzsq4u/rO86TywLjArqS5pOuhpQoKICByYl9zdHJfbmV3Mihjb25zdCBjaGFyICpwdHIpCiAgcmJfc3RyX25ld19jc3RyKGNvbnN0IGNoYXIgKnB0cikKCiAgICBDpM7KuLv6zvOkq6TpUnVieaTOyri7+s7zpPLAuMCupLmk66GlpLOkzrTYv/SkzrWhx72kzwogICAgcmJfc3RyX25ldyhwdHIsIHN0cmxlbihwdHIpKaTIxrHF+aTHpKKk66GlCgogIHJiX3RhaW50ZWRfc3RyX25ldyhjb25zdCBjaGFyICpwdHIsIGxvbmcgbGVuKQoKICAgILH4wPel3qG8pa+krMnVssOktaTspL+/t6S3pKRSdWJ5pM7KuLv6zvOk8sC4wK6kuaTroaWzsMn0CiAgICCkq6TppM6lx6G8pb+ky7TwpMWkr8q4u/rO86TLpM+x+MD3pd6hvKWvpKzJ1bLDpLWk7KTrpNmkrQogICAgpMekoqTroaUKCiAgcmJfdGFpbnRlZF9zdHJfbmV3Mihjb25zdCBjaGFyICpwdHIpCiAgcmJfdGFpbnRlZF9zdHJfbmV3X2NzdHIoY29uc3QgY2hhciAqcHRyKQoKICAgIEOkzsq4u/rO86SrpOmx+MD3pd6hvKWvpKzJ1bLDpLWk7KS/UnVieaTOyri7+s7zpPLAuMCupLmk66GlCgogIHJiX3NwcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCiAgcmJfdnNwcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFwKQoKICAgIEOkzsq4u/rO82Zvcm1hdKTIwrOkr7D6v/Sk8nByaW50ZigzKaTOpdWlqaG8pd6lw6XIpMukt6S/pKykw6TGCiAgICDAsLfBpLehpFJ1Ynmkzsq4u/rO86TywLjArqS5pOuhpQoKICByYl9zdHJfY2F0KFZBTFVFIHN0ciwgY29uc3QgY2hhciAqcHRyLCBsb25nIGxlbikKCiAgICBSdWJ5pM7KuLv6zvNzdHKky2xlbqXQpaSlyKTOyri7+s7zcHRypPLEybLDpLmk66GlCgogIHJiX3N0cl9jYXQyKFZBTFVFIHN0ciwgY29uc3QgY2hhciogcHRyKQoKICAgIFJ1Ynmkzsq4u/rO83N0cqTLQ6TOyri7+s7zcHRypPLEybLDpLmk66GlpLOkzrTYv/SkzrWhx72kzwogICAgcmJfc3RyX2NhdChzdHIsIHB0ciwgc3RybGVuKHB0cikppMjGscX5pMekoqTroaUKCiAgcmJfc3RyX2NhdGYoVkFMVUUgc3RyLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKICByYl9zdHJfdmNhdGYoVkFMVUUgc3RyLCBjb25zdCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QgYXApCgogICAgQ6TOyri7+s7zZm9ybWF0pMjCs6SvsPq/9KTycHJpbnRmKDMppM6l1aWpobyl3qXDpciky6S3pL+krKTDpMYKICAgIMCwt8Gkt6GkUnVieaTOyri7+s7zc3RypMvEybLDpLmk66GlpLOkzrTYv/SkzrWhx72kz6GkpL2k7KS+pOwKICAgIHJiX3N0cl9jYXQyKHN0ciwgcmJfc3ByaW50Zihmb3JtYXQsIC4uLikpIKTkCiAgICByYl9zdHJfY2F0MihzdHIsIHJiX3ZzcHJpbnRmKGZvcm1hdCwgYXApKSCkyMaxxfmkx6SipOuhpQoKICByYl9lbmNfc3RyX25ldyhjb25zdCBjaGFyICpwdHIsIGxvbmcgbGVuLCByYl9lbmNvZGluZyAqZW5jKQogIAogICAgu9jE6qS1pOykv6WopfOls6G8pcelo6XzpbCkx1J1Ynmkzsq4u/rO86TywLjArqS5pOsuCiAgICAgCiAgcmJfdXNhc2NpaV9zdHJfbmV3KGNvbnN0IGNoYXIgKnB0ciwgbG9uZyBsZW4pCiAgcmJfdXNhc2NpaV9zdHJfbmV3X2NzdHIoY29uc3QgY2hhciAqcHRyKQoKICAgIKWopfOls6G8pcelo6XzpbCkrFVTLUFTQ0lJpM5SdWJ5pM7KuLv6zvOk8sC4wK6kuaTrLgoKICByYl9zdHJfcmVzaXplKFZBTFVFIHN0ciwgbG9uZyBsZW4pCgogICAgUnVieaTOyri7+s7zpM6ltaWkpbqk8mxlbqXQpaSlyKTLytG5uaS5pOuhpXN0cqTOxLmktaTPwbAKICAgILDKpMalu6XDpciktaTspMakpKTKpLGk7KTQpMqk6aTKpKShpWxlbqSsuLWkzsS5pLWk6KTqpOLDuwogICAgpKS7/qTPoaRsZW6l0KWkpcik8rHbpKikv8n0yqykzsbizcakz7zOpMak6aTspOuhpWxlbqSsuLUKICAgIKTOxLmktaTopOqk4sS5pKS7/qTPoaS4taTOxLmktaTysdukqKS/yfTKrKTOxuLNxqTPyt3CuKS1CiAgICCk7KTKpKSkx6W0pd+ky6TKpOukwKTtpKahpaSzpM602L/0pM64xqTTvdCkt6TLpOikw6TGCiAgICBSU1RSSU5HX1BUUihzdHIppKzK0bm5pLWk7KTrpKuk4qS3pOykyqSkpLOkyKTLw+2w1aGlCgogIHJiX3N0cl9zZXRfbGVuKFZBTFVFIHN0ciwgbG9uZyBsZW4pCgogICAgUnVieaTOyri7+s7zpM6ltaWkpbqk8mxlbqXQpaSlyKTLpbulw6XIpLmk66Glc3RypKzK0bm5ssQKICAgIMe9pMekyqSxpOyk0M7js7CkrMivwLikuaTroaVSU1RSSU5HX0xFTihzdHIppMikz8y1tNi3uKTLoaQKICAgIGxlbqXQpaSlyKTepMekzsbizcakz8rdwriktaTspOuhpWxlbqTPc3RypM7Nxs7MpPKx26SopMakpAogICAgpMakz6TKpOmkyqSkoaUKCgogx9vO86TLwtCkuaTrtNi/9AoKICByYl9hcnlfbmV3KCkKCiAgICDN18HHpKwwpM7H287zpPLAuMCupLmk66GlCgogIHJiX2FyeV9uZXcyKGxvbmcgbGVuKQoKICAgIM3XwcekrDCkzsfbzvOk8sC4wK6kuaTroaVsZW7N18HHyqykzs7OsOik8qSipOmkq6S4pOGz5KTqCiAgICDF9qTGpMakqqSvoaUKCiAgcmJfYXJ5X25ldzMobG9uZyBuLCAuLi4pCgogICAgsPq/9KTHu9jE6qS3pL9uzdfBx6TytN6k4MfbzvOk8sC4wK6kuaTroaUKCiAgcmJfYXJ5X25ldzQobG9uZyBuLCBWQUxVRSAqZWx0cykKCiAgICDH287zpMfNv6SopL9uzdfBx6TOx9vO86TywLjArqS5pOuhpQoKICByYl9hcnlfdG9fYXJ5KFZBTFVFIG9iaikKCiAgICClqqXWpbilp6Wvpcik8sfbzvOky8rRtLmkuaTrLgogICAgT2JqZWN0I3RvX2FyeaTIxrHF+aTHpKKk6y4KCiDCvqTLpOLH287zpPLB4LrupLmk67TYv/SkrMK/v/SkoqTrLiCks6TspOmkzwogsPq/9GFyeaTLx9vO86Tyxc+ktaTKpLGk7KTQpMqk6aTKpKQuIKS1pOKkyqSkpMgKIKWzpaKk8sXHpK8uCgogIHJiX2FyeV9hcmVmKGFyZ2MsIFZBTFVFICphcmd2LCBWQUxVRSBhcnkpCgogICAgQXJyYXkjW12kyMaxxfkuCgogIHJiX2FyeV9lbnRyeShWQUxVRSBhcnksIGxvbmcgb2Zmc2V0KQoKICAgIGFyeVtvZmZzZXRdCgogIHJiX2FyeV9zdWJzZXEoVkFMVUUgYXJ5LCBsb25nIGJlZywgbG9uZyBsZW4pCgogICAgYXJ5W2JlZywgbGVuXQoKICByYl9hcnlfcHVzaChWQUxVRSBhcnksIFZBTFVFIHZhbCkKICByYl9hcnlfcG9wKFZBTFVFIGFyeSkKICByYl9hcnlfc2hpZnQoVkFMVUUgYXJ5KQogIHJiX2FyeV91bnNoaWZ0KFZBTFVFIGFyeSwgVkFMVUUgdmFsKQoKMqGlUnVieaTOtaHHvaTyu8ikpgoKuLbN/cWqpMtSdWJ5pMe98aSxpOuks6TIpM9DpMek4r3xpLGk3qS5oaVSdWJ5pL2kzqTipM6krEOkx7WtCr3SpLWk7KTGpKSk66TzpMekuaSrpOmhpMX2wbOkyKSkpKik0MX2wbOkyqTzpMekuaSxpMmhpaSzpLOkxwqkz1J1YnmkzrPIxKWky7vIpKaks6TIpKzCv6SkpMCk7aSmpMjNvcKspLWk7KTrtaHHvaTyw+a/tKTLvtIKsvCkt6TepLmhpQoKMi4xIFJ1Ynmky7Whx72k8sTJssOkuaTrCgpSdWJ5pMfE87ahpLWk7KTGpKSk67TYv/Sk8rvIpKik0FJ1YnmlpKXzpb+l16Xqpb+ky7+3pLekpLWhx70KpPLEybLDpLmk66SzpMikrKTHpK2k3qS5oaVSdWJ5pMekz7DKsrykzrWhx72k8sTJssOkuaTrtNi/9KSsCsTztqGktaTspMakpKTepLmhpQoKICogpa+l6aW5oaSl4qW4peWhvKXrCiAqIKXhpb2lw6XJoaTGw7DbpeGlvaXDpcmkyqTJCiAqIMTqv/QKCqTHpM+956TLvtKy8KS3pN6kuaGlCgoyLjEuMSClr6XppbkvpeKluKXlobyl68TqtcEKCqWvpemluaTkpeKluKXlobyl66TyxOq1waS5pOukv6ThpMukz6GksMqyvKTOtNi/9KTyu8ikpKTepLmhpQoKICBWQUxVRSByYl9kZWZpbmVfY2xhc3MoY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgc3VwZXIpCiAgVkFMVUUgcmJfZGVmaW5lX21vZHVsZShjb25zdCBjaGFyICpuYW1lKQoKpLOk7KTppM602L/0pM+/t6S3pK/E6rXBpLWk7KS/pa+l6aW5pOSl4qW4peWhvKXrpPLK1qS3pN6kuaGlCqXhpb2lw6XJpOTE6r/0pM7E6rXBpMuks6TspOmkzsPNpKzJrM3XpMqkzqTHoaSk26TIpPOkyaTOvuy55wqkz8zhpOrDzaTyytG/9KTLs8rHvKS3pMakqqSvyazN16SspKKk66THpLek56SmoaUKCqWvpemluaTkpeKluKXlobyl66Tywr6kzqWvpemluaTOxuLJ9KTLpc2luaXIpLekxsTqtcGkuaTru/6kywqkz7DKsrykzrTYv/Sk8rvIpKSk3qS5oaUKCiAgVkFMVUUgcmJfZGVmaW5lX2NsYXNzX3VuZGVyKFZBTFVFIG91dGVyLCBjb25zdCBjaGFyICpuYW1lLCBWQUxVRSBzdXBlcikKICBWQUxVRSByYl9kZWZpbmVfbW9kdWxlX3VuZGVyKFZBTFVFIG91dGVyLCBjb25zdCBjaGFyICpuYW1lKQoKMi4xLjIgpeGlvaXDpckvxsOw26Xhpb2lw6XJxOq1wQoKpeGlvaXDpcmk5MbDsNul4aW9pcOlyaTyxOq1waS5pOuky6TPsMqyvKTOtNi/9KTyu8ikpKTepLmhpQoKICB2b2lkIHJiX2RlZmluZV9tZXRob2QoVkFMVUUga2xhc3MsIGNvbnN0IGNoYXIgKm5hbWUsIAoJCSAgICAgICAgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCiAgdm9pZCByYl9kZWZpbmVfc2luZ2xldG9uX21ldGhvZChWQUxVRSBvYmplY3QsIGNvbnN0IGNoYXIgKm5hbWUsIAoJCQkgICAgICAgICAgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCgrHsKTOpL+k4cDizMCkuaTrpMih1sbDsNul4aW9pcOlyaHXpMikz6GkpL2kzsbDxOqkzqWqpdaluKWnpa8Kpciky8LQpLekxqTApLHNrbj6pMql4aW9pcOlyaTHpLmhpVJ1Ynmkx6TPpOikr1NtYWxsdGFsa6TLpKoKpLGk66WvpemluaXhpb2lw6XJpMikt6TGoaSlr6Xppbmky8LQpLmk68bDsNul4aW9pcOlyaSsu8ik76TsCqTepLmhpQoKpLOk7KTppM602L/0pM4gYXJnY6TIpKSkprD6v/Skz0OkzrTYv/Sk2MXPpLWk7KTrsPq/9KTOv/QopMgKt8G8sCmk8rfopOGk3qS5oaVhcmdjpKwwsMq+5aTOu/6kz7TYv/Sky7D6pK3Fz6S5sPq/9KTOv/Sk8rDVCsyjpLek3qS5oaUxNrjEsMq+5aTOsPq/9KTPu8ikqKTepLuk8yikrKGkzdek6qTepLuk86TopM2hpKS9CqTzpMqkyymhpbzCut2kzrTYv/Sky6TPwOjGrKTOsPq/9KTIpLekxnNlbGakrM2/pKik6aTspN6kuaTOCqTHoaS72MTqpLekv7/0pOik6jHCv6SksPq/9KTyu/2kxKSzpMiky6TKpOqk3qS5oaUKCmFyZ2OkrMnppM67/qTPsPq/9KTOv/Skx6TPpMqkr6Gkt8G8sKTyu9jE6qS3pL+ks6TIpMukyqTqpN6kuaGlCmFyZ2OkrC0xpM67/qTPsPq/9KTyx9vO86TLxv6k7KTGxc+ktaTspN6kuaGlYXJnY6SsLTKkzrv+pM+w+gq/9KTPUnVieaTOx9vO86TIpLekxsXPpLWk7KTepLmhpQoKpeGlvaXDpcmk8sTqtcGkuaTrtNi/9KTPpN6kwKSkpK+kxKSrpKKk6qTepLkuIKTSpMikxKTPpeGlvaXDpckKzL6kyKS3pMZJRKTyvOik6qTepLkuIElEpMukxKSkpMakzzIuMi4ypPK7sr7ILgoKICB2b2lkIHJiX2RlZmluZV9tZXRob2RfaWQoVkFMVUUga2xhc3MsIElEIG5hbWUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxVRSAoKmZ1bmMpKEFOWUFSR1MpLCBpbnQgYXJnYykKCnByaXZhdGUvcHJvdGVjdGVkpMql4aW9pcOlyaTyxOq1waS5pOuk1aS/pMSkzrTYv/SkrKSipOqk3qS5LgoKICB2b2lkIHJiX2RlZmluZV9wcml2YXRlX21ldGhvZChWQUxVRSBrbGFzcywgY29uc3QgY2hhciAqbmFtZSwgCgkJCQlWQUxVRSAoKmZ1bmMpKCksIGludCBhcmdjKQogIHZvaWQgcmJfZGVmaW5lX3Byb3RlY3RlZF9tZXRob2QoVkFMVUUga2xhc3MsIGNvbnN0IGNoYXIgKm5hbWUsIAoJCQkgICAgICAgICAgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCnByaXZhdGWl4aW9pcOlyaTIpM+02L/0t8G8sKTHpLekq7jGpNO90KS5pLOkyKTOvdDN6KTKpKSl4aW9pcMKpcmkx6S5oaUKCrrHuOWky6GkIHJiX2RlZmluZV9tb2R1bGW02L/0pM+l4qW4peWhvKXrtNi/9KTyxOq1waS3pN6kuaGlCqXipbil5aG8peu02L/0pMikz6Xipbil5aG8peukzsbDsNul4aW9pcOlyaTHpKKk6qGkxrG7/qTLCnByaXZhdGWl4aW9pcOlyaTHpOKkoqTrpOKkzqTHpLmhpc7jpPKkoqSypOukyE1hdGil4qW4peWhvKXrCqTOc3FydCgppMqkyaSspKKksqTppOyk3qS5oaWks6TOpeGlvaXDpcmkzwoKICBNYXRoLnNxcnQoNCkKCqTIpKSkprfBvLCkx6TiCgogIGluY2x1ZGUgTWF0aAogIHNxcnQoNCkKCqTIpKSkprfBvLCkx6Tiu8ikqKTepLmhpaXipbil5aG8peu02L/0pPLE6rXBpLmk67TYv/Skz7DKsrykzgrEzKTqpMekuaGlCgogIHZvaWQgcmJfZGVmaW5lX21vZHVsZV9mdW5jdGlvbihWQUxVRSBtb2R1bGUsIGNvbnN0IGNoYXIgKm5hbWUsIAoJCSAgICAgICAgICAgICAgICAgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCrTYv/TFqqXhpb2lw6XJKEtlcm5lbKXipbil5aG8peukznByaXZhdGUgbWV0aG9kKaTyxOq1waS5pOukvwqk4aTOtNi/9KTPsMqyvKTOxMyk6qTHpLmhpQoKICB2b2lkIHJiX2RlZmluZV9nbG9iYWxfZnVuY3Rpb24oY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCgql4aW9pcOlyaTOyszMvqTyxOq1waS5pOukv6ThpM602L/0pM+wyrK8pM7EzKTqpMekuaGlCgogIHZvaWQgcmJfZGVmaW5lX2FsaWFzKFZBTFVFIG1vZHVsZSwgY29uc3QgY2hhciogbmV3LCBjb25zdCBjaGFyKiBvbGQpOwoKwrDAraTOvOjGwKGmwN/E6qXhpb2lw6XJpPLE6rXBpLmk66TLpM8KCiAgdm9pZCByYl9kZWZpbmVfYXR0cihWQUxVRSBrbGFzcywgY29uc3QgY2hhciAqbmFtZSwgaW50IHJlYWQsIGludCB3cml0ZSkKCqWvpemluaXhpb2lw6XJYWxsb2NhdGWk8sTqtcGkt6S/pOq67738pLekv6TqpLmk66S/pOGkzrTYv/SkzwqwyrK8pM7EzKTqpMekuaGlCgogIHZvaWQgcmJfZGVmaW5lX2FsbG9jX2Z1bmMoVkFMVUUga2xhc3MsIFZBTFVFICgqZnVuYykoVkFMVUUga2xhc3MpKTsKICB2b2lkIHJiX3VuZGVmX2FsbG9jX2Z1bmMoVkFMVUUga2xhc3MpOwoKZnVuY6TPpa+l6aW5pPKw+r/0pMikt6TGvPWksbzopMOkxqGkv7ekt6Svs+Sk6sX2pMak6aTspL+lpKXzCqW5pb+l86W5pPLK1qS1pMqkr6TGpM+kyqTqpN6ku6TzoaWks6TOpaSl86W5pb+l86W5pM+hpLOwyfSl6gqlvaG8pbmkyqTJpPK03qTepMqkpKGkpMekraTrpMCksaHWtvWh16TOpN6k3qTLpLekxqSqpKSkv6TbpKYKpKyk6KSkpMekt6TnpKahpQoKMi4xLjMgxOq/9MTqtcEKCrPIxKWl6aWkpdal6aXqpKzJrM3XpMrE6r/0pM+koqTppKukuKThxOq1waS3pMakqqSkpL/K/aSszsmkpAqkx6S3pOekpqGlxOq/9KTyxOq1waS5pOu02L/0pM/G86TEpKKk6qTepLmhpQoKICB2b2lkIHJiX2RlZmluZV9jb25zdChWQUxVRSBrbGFzcywgY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgdmFsKQogIHZvaWQgcmJfZGVmaW5lX2dsb2JhbF9jb25zdChjb25zdCBjaGFyICpuYW1lLCBWQUxVRSB2YWwpCgrBsLzUpM/Gw8TqpM6lr6XppbkvpeKluKXlobyl66TLwrCkuaTrxOq/9KTyxOq1waS5pOuk4qTOoaS45Qq81KTPpbCl7aG8pdCl66TKxOq/9KTyxOq1waS5pOuk4qTOpMekuaGlCgoyLjIgUnVieaTOtaHHvaTyQ6SrpOm4xqTTvdCkuQoKtPuky6HYMS41IFJ1YnmkzqXHobylv6TyweC67qS5pOuh2aTHsOzJ9L7SsvCkt6S/pOikpqTKtNi/9KTyCrvIpKik0KGkUnVieaTOtaHHvaTyvMK4vaS3pMakpKTrtNi/9KTyxL7A3LjGpNO90KS5pLOkyKSsvdDN6Aqk3qS5oaUKCiMgpLOkzqTopKakyrTYv/SkzrDszffJvaTPpKSk3qTOpMiks6TtpKKk6qTepLuk86Glpb2hvKW5pPK4qwojIKTrpLekq6TKpKSkx6S5pM2hpQoKpL2k7LDKs7Cky6TiUnVieaTOtaHHvaTyuMak073QpLnK/cuhpM+kpKSvpMSkq6SipOqk3qS5oaUKCjIuMi4xIFJ1YnmkzqXXpe2lsKXppeCk8mV2YWykuaTrCgpDpKuk6VJ1YnmkzrWhx72k8rjGpNO90KS5pOKkw6TIpOK0ysOxpMrK/cuhpMikt6TGoaTKuLv6zvOkxwrNv6SopOmk7KS/UnVieaTOpdel7aWwpeml4KTyyb6ywaS5pOuwyrK8pM602L/0pKykoqTqpN6kuaGlCgogIFZBTFVFIHJiX2V2YWxfc3RyaW5nKGNvbnN0IGNoYXIgKnN0cikKCqSzpM7JvrLBpM+4vbrfpM60xLatpMe51KTvpOyk3qS5oaWkxKTepOqhpLi9ut+kzqXtobylq6XrytG/9AqkyqTJpPK89aSxt9GkrqTepLmhpQoKyb6ywaTPzuOzsKTyyK/AuKS5pOukq6TipLek7KTKpKSks6TIpMvD7bDVpLek3qS3pOekpi4gpOik6rDCwbQKpMq02L/0pOKkoqTqpN6kuS4KCiAgVkFMVUUgcmJfZXZhbF9zdHJpbmdfcHJvdGVjdChjb25zdCBjaGFyICpzdHIsIGludCAqc3RhdGUpCgqks6TOtNi/9KTPpail6aG8pKzIr8C4pLmk66TIbmlspPLK1qS3pN6kuaGlpL2kt6TGoaTArrj5u/6ky6TPCipzdGF0ZaTPpbyl7aTLoaSktaTipMqkr6TQyPOlvKXtpMukyqTqpN6kuaGlCgoKMi4yLjIgSUSk3qS/pM+lt6Xzpdyl6woKQ6SrpOnKuLv6zvOk8rfQzbOku6S6pMtSdWJ5pM6l4aW9pcOlyaTyuMak073QpLmks6TIpOKkx6StpN4KpLmhpaS9pM7BsKTLoaRSdWJ5paSl86W/pdel6qW/xuKkx6Xhpb2lw6XJpOTK0b/0zL6k8rvYxOqkuaTrCrv+pMu7yKTvpOykxqSkpOtJRKTLpMSkpKTGwOLMwKS3pMakqqStpN6kt6TnpKahpQoKSUSkyKTPytG/9My+oaSl4aW9pcOlycy+pPLJvaS5wLC/9KTHpLmhpVJ1YnmkzsPmpMekzwoKIDq8scrMu9IKpN6kv6TPCiA6IseksNWkzsq4u/rO8yIKCqTHpaKlr6W7pbmkx6StpN6kuaGlQ6SrpOmks6TOwLC/9KTyxsCk66S/pOGky6TPtNi/9AoKICByYl9pbnRlcm4oY29uc3QgY2hhciAqbmFtZSkKCqTyu8ikpKTepLmhpVJ1Ynmkq6TpsPq/9KTIpLekxs2/pKik6aTspL+lt6Xzpdyl6yik3qS/pM/KuLv6Cs7zKaTySUSky8rRtLmkuaTrpMukz7DKsrykzrTYv/Sk8rvIpKSk3qS5oaUKCiAgcmJfdG9faWQoVkFMVUUgc3ltYm9sKQoKMi4yLjMgQ6SrpOlSdWJ5pM6l4aW9pcOlyaTyuMak073QpLkKCkOkq6Tpyri7+s7zpPK30M2zpLukuqTLUnVieaTOpeGlvaXDpcmk8rjGpNO90KS5pL+k4aTLpM+wyrK8CqTOtNi/9KTyu8ikpKTepLmhpQoKICBWQUxVRSByYl9mdW5jYWxsKFZBTFVFIHJlY3YsIElEIG1pZCwgaW50IGFyZ2MsIC4uLikKCqSzpM602L/0pM+lqqXWpbilp6WvpchyZWN2pM5taWSkx7vYxOqktaTspOul4aW9pcOlyaTyuMak073QCqS3pN6kuaGlpL2kzsK+pMuw+r/0pM672MTqpM67xcr9pKyw46SmsMqyvKTOtNi/9KTipKKk6qTepLmhpQoKICBWQUxVRSByYl9mdW5jYWxsMihWQUxVRSByZWN2LCBJRCBtaWQsIGludCBhcmdjLCBWQUxVRSAqYXJndikKICBWQUxVRSByYl9hcHBseShWQUxVRSByZWN2LCBJRCBtaWQsIFZBTFVFIGFyZ3MpCgphcHBseaTLpM+w+r/0pMikt6TGUnVieaTOx9vO86Tyzb+kqKTepLmhpQoKMi4yLjQgytG/9C/E6r/0pPK7sr7IL7m5v7ekuaTrCgpDpKuk6bTYv/Sk8rvIpMOkxruyvsihprm5v7ekx6StpOukzqTPoaTE6r/0oaSlpKXzpbmlv6XzpbnK0Qq/9KTHpLmhpcLnsOjK0b/0pM+w7Mn0pM6k4qTOpM9DpM7C57DoytG/9KTIpLekxqWipa+lu6W5pMekrQqk3qS5oaWl7aG8paul68rRv/Sk8ruyvsikuaTryv3LoaTPuPizq6S3pMakpKTepLuk86GlCgqlqqXWpbilp6WvpcikzqWkpfOluaW/pfOlucrRv/Sk8ruyvsihprm5v7ekuaTrtNi/9KTPsMqyvKTOxMwKpOqkx6S5oaUKCiAgVkFMVUUgcmJfaXZhcl9nZXQoVkFMVUUgb2JqLCBJRCBpZCkKICBWQUxVRSByYl9pdmFyX3NldChWQUxVRSBvYmosIElEIGlkLCBWQUxVRSB2YWwpCgppZKTPcmJfaW50ZXJuKCmkx8bApOmk7KTrpOKkzqTyu8ikw6TGpK+kwKS1pKShpQoKxOq/9KTyu7K+yKS5pOuky6TPsMqyvKTOtNi/9KTyu8ikw6TGpK+kwKS1pKShpQoKICBWQUxVRSByYl9jb25zdF9nZXQoVkFMVUUgb2JqLCBJRCBpZCkKCsTqv/Sk8r+3pLekr8TqtcGkuaTrpL+k4aTLpM+h2DIuMS4zIMTqv/TE6rXBodmkx77SsvCktQqk7KTGpKSk67TYv/Sk8rvIpMOkxqSvpMCktaSkoaUKCjOhpVJ1YnmkyEOkyKTOvvDK87amza0KCkO4wLjspMhSdWJ5pM601qTHvvDK86TytqbNraS5pOvK/cuhpMukxKSkpMay8sDipLek3qS5oaUKCjMuMSBDpKuk6buyvsikx6StpOtSdWJ5pM7E6r/0CgqwyrK8pM5SdWJ5pM7E6r/0pM9DpM6l7KXZpeukq6Tpu7K+yKTHpK2k3qS5oaUKCiAgUXRydWUKICBRZmFsc2UKCiAgICC/v7W2w82hpVFmYWxzZaTPQ7jAuOykx6TitbakyKTfpMqktaTspN6kuSikxKTepOowKaGlCgogIFFuaWwKCiAgICBDuMC47KSrpOm4q6S/odZuaWyh16GlCgozLjIgQ6TIUnVieaTHtqbNraS1pOyk68LnsOjK0b/0CgpDpMhSdWJ5pMfC57DoytG/9KTyu8ikw6TGvvDK86TytqbNraTHpK2k3qS5oaW2ps2tpMekraTrwuew6ArK0b/0pMukz6SkpK+kxKSrpM68787gpKykoqTqpN6kuaGlpL2kzqTKpKukx6TipMOkyKTizsmkr7vIpO8KpOyk66TIu9ek76TspOukzqTPcmJfZGVmaW5lX3ZhcmlhYmxlKCmkx6S5oaUKCiAgdm9pZCByYl9kZWZpbmVfdmFyaWFibGUoY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgKnZhcikKCqSzpM602L/0pM9SdWJ5pMhDpMikx7amza2kuaTrwuew6MrRv/Sk8sTqtcGkt6TepLmhpcrRv/TMvqSsCmAkJ6THu8+k3qTppMqkpLv+pMukz7yrxrDFqqTLxMmyw6S1pOyk3qS5oaWks6TOytG/9KTOw82k8srRCrm5pLmk66TIvKvGsMWqpMtSdWJ5pM7C0LH+pLmk68rRv/SkzsPNpOLK0aTvpOqk3qS5oaUKCqTepL9SdWJ5wqakq6TppM+5ub+3pMekraTKpKTK0b/0pOKkoqTqpN6kuaGlpLOkznJlYWQgb25seaTOCsrRv/Skz7DKsrykzrTYv/Skx8TqtcGkt6TepLmhpQoKICB2b2lkIHJiX2RlZmluZV9yZWFkb25seV92YXJpYWJsZShjb25zdCBjaGFyICpuYW1lLCBWQUxVRSAqdmFyKQoKpLOk7KTpytG/9KTOwr6ky2hvb2uk8qTEpLGkv8LnsOjK0b/0pPLE6rXBpMekraTepLmhpWhvb2vJ1aStCqTOwuew6MrRv/Skz7DKsrykzrTYv/Sk8s3RpKSkxsTqtcGkt6TepLmhpWhvb2vJ1aStwuew6MrRv/SkzgrDzaTOu7K+yKTkwN/E6qTPaG9va6THudSkpsmszdekrKSipOqk3qS5oaUKCiAgdm9pZCByYl9kZWZpbmVfaG9va2VkX3ZhcmlhYmxlKGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFICp2YXIsCgkJCQkgVkFMVUUgKCpnZXR0ZXIpKCksIHZvaWQgKCpzZXR0ZXIpKCkpCgqks6TOtNi/9KTPQ6TOtNi/9KTLpOikw6TGaG9va6TOpMSksaTppOykv8LnsOjK0b/0pPLE6rXBpLek3gqkuaGlytG/9KSsu7K+yKS1pOykv7v+pMukz7TYv/RnZXR0ZXKkrKGkytG/9KTLw82krKW7pcOlyKS1pOwKpL+7/qTLpM+02L/0c2V0dGVypKy4xqTQpOyk66GlaG9va6Tyu9jE6qS3pMqkpL7sueekz2dldHRlcqTkCnNldHRlcqTLMKTyu9jE6qS3pN6kuaGlCiMgZ2V0dGVypOJzZXR0ZXKk4jCkyqTppNByYl9kZWZpbmVfdmFyaWFibGUoKaTIxrGkuKTLpMqk66GlCgpnZXR0ZXKkyHNldHRlcqTOu8XNzaTPvKGkzsTMpOqkx6S5oaUKCiAgVkFMVUUgKCpnZXR0ZXIpKElEIGlkLCBWQUxVRSAqdmFyKTsKICB2b2lkICgqc2V0dGVyKShWQUxVRSB2YWwsIElEIGlkLCBWQUxVRSAqdmFyKTsKCgqkvaTspKuk6aGkwtCx/qS5pOtDpM7K0b/0pPK7/aS/pMqkpFJ1YnmkzsLnsOjK0b/0pPLE6rXBpLmk6wqks6TIpOKkx6StpN6kuS4gpL2kzsrRv/SkzsPNpM+l1aXDpa+02L/0pM6k36TLpOikw6TGvOjGwKGmwN/E6gqktaTspN6kuS4KCiAgdm9pZCByYl9kZWZpbmVfdmlydHVhbF92YXJpYWJsZShjb25zdCBjaGFyICpuYW1lLAoJCQkJICBWQUxVRSAoKmdldHRlcikoKSwgdm9pZCAoKnNldHRlcikoKSkKCqSzpM602L/0pMuk6KTDpMbE6rXBpLWk7KS/UnVieaTOwuew6MrRv/SkrLuyvsiktaTspL+7/qTLpM8KZ2V0dGVypKyhpMrRv/Sky8PNpKylu6XDpciktaTspL+7/qTLpM9zZXR0ZXKkrLjGpNCk7KTepLmhpQoKZ2V0dGVypMhzZXR0ZXKkzrvFzc2kz7DKsrykzsTMpOqkx6S5oaUKCiAgKCpnZXR0ZXIpKElEIGlkKTsKICAoKnNldHRlcikoVkFMVUUgdmFsLCBJRCBpZCk7CgozLjMgQ6TOpcehvKW/pPJSdWJ5paql1qW4paelr6XIpMukuaTrCgpDpM7ApLOmpMfE6rXBpLWk7KS/pcehvKW/KLm9wqTCzimk8lJ1YnmkzqWqpdaluKWnpa+lyKTIpLekxgq86KTqsLekpKS/pKS+7LnnpKykoqTqpKik3qS5oaWks6TOpOikpqTKvuy556TLpM+hpERhdGGkyKSkpKYKUnVieaWqpdaluKWnpa+lyKTLQ6TOub3CpMLOKKTYpM6l3aWkpfOlvymk8qSvpOuk4KSzpMikx1J1YnkKpaql1qW4paelr6XIpMikt6TGvOik6rC3pKik66TopKaky6TKpOqk3qS5oaUKCkRhdGGlqqXWpbilp6Wvpcik8sC4wK6kt6TGub3CpMLOpPJSdWJ5paql1qW4paelr6XIpMulq6XXpbul6wqyvaS5pOukv6ThpMukz6GksMqyvKTOpd6lr6XtpPK7yKSkpN6kuaGlCgogIERhdGFfV3JhcF9TdHJ1Y3Qoa2xhc3MsIG1hcmssIGZyZWUsIHB0cikKCqSzpM6l3qWvpe2kzszhpOrDzaTPwLjArqS1pOykv0RhdGGlqqXWpbilp6Wvpcikx6S5oaUKCmtsYXNzpM+ks6TORGF0YaWqpdaluKWnpa+lyKTOpa+l6aW5pMekuaGlcHRypM+lq6XXpbul67K9pLmk6wpDpM65vcKkws6k2KTOpd2lpKXzpb+kx6S5oaVtYXJrpM+ks6TOub3CpMLOpKxSdWJ5pM6lqqXWpbilpwqlr6XIpNikzruyvsikrKSipOu7/qTLu8ikprTYv/Skx6S5oaWkvaTOpOikpqTKu7K+yKTytN6k3qTKpKQKu/6ky6TPMKTyu9jE6qS3pN6kuaGlCgojIKS9pM6k6KSmpMq7sr7IpM+0q6ThpOmk7KTepLuk86GlCgpmcmVlpM+ks6TOub3CpMLOpKyk4qSmydTN16TLpMqkw6S/u/6ky7jGpNCk7KTrtNi/9KTHpLmhpaSzpM4KtNi/9KSspayhvKXZobyluKWzpeylr6W/pKuk6bjGpNCk7KTepLmhpaSzpOykrC0xpM6+7LnnpM+hpMOxCr3jpMuzq8r8pLWk7KTepLmhpQoKbWFya6SqpOik02ZyZWW02L/0pM9HQ7zCudTD5qTLuMak073QpLWk7KTepLkuCqTKpKosIEdDvMK51MPmpM9SdWJ5paql1qW4paelr6XIpM6loqXtpbGhvKW3peel86TPtti736S1pOyk3gqkuS4gpOikw6TGLCBtYXJrpKqk6KTTZnJlZbTYv/Skx1J1YnmlqqXWpbilp6WvpcikzqWipe2lsaG8pbcKpeel86TPudSk76TKpKSkx6SvpMCktaSkLgoKQ6TOub3CpMLOpM6z5MX2pMhEYXRhpaql1qW4paelr6XIpM7AuMCupPLGsbv+pMu51KSmpd6lr6XtpMgKpLekxrDKsrykzqTipM6krMTztqGktaTspMakpKTepLmhpQoKICBEYXRhX01ha2VfU3RydWN0KGtsYXNzLCB0eXBlLCBtYXJrLCBmcmVlLCBzdmFsKQoKpLOkzqXepa+l7aTOzOGk6sPNpM/AuMCupLWk7KS/RGF0YaWqpdaluKWnpa+lyKTHpLmhpQoKa2xhc3MsIG1hcmssIGZyZWWkz0RhdGFfV3JhcF9TdHJ1Y3SkyMaxpLjGr6StpPKkt6TepLmhpXR5cGUKpM+z5KTqxfakxqTrQ7m9wqTCzqTOt7+kx6S5oaWz5KTqxfakxqTppOykv7m9wqTCzqTPytG/9HN2YWwKpMvC5cb+pLWk7KTepLmhpaSzpM7K0b/0pM63v6TPICh0eXBlKikgpMekoqTryazN16SspKKk6qTepLmhpQoKRGF0YaWqpdaluKWnpa+lyKSrpOml3aWkpfOlv6TyvOik6r3QpLmkzqTPsMqyvKTOpd6lr6XtpPLN0aSkCqTepLmhpQoKICBEYXRhX0dldF9TdHJ1Y3Qob2JqLCB0eXBlLCBzdmFsKQoKQ6TOub3CpMLOpNikzqXdpaSl86W/pM/K0b/0c3ZhbKTLwuXG/qS1pOyk3qS5oaUKCqSzpOyk6aTORGF0YaTOu8ikpMr9pM+kwaTnpMOkyMqspKuk6qTLpK+kpKTOpMehpLjlpMfA4szApLmk6wrO48LqpPK7sr7IpLekxqSvpMCktaSkoaUKCjShpc7jwuogLSBkYm2l0aXDpbGhvKW4pPK67qTrCgqks6SzpN6kx6TOwOLMwKTHpMik6qSipKikurPIxKWl6aWkpdal6aXqpM+67qTspOukz6S6pMekuaGlClJ1YnmkzmV4dKXHpaOl7KWvpcil6qTLpLmkx6TLtN6k3qTspMakpKTrZGJtpemlpKXWpeml6qTyzuOkywqkt6TGw8qzrMWqpMvA4szApLek3qS5oaUKCigxKSClx6Wjpeylr6XIpeqk8rrupOsKCiAgJSBta2RpciBleHQvZGJtCgpSdWJ5IDEuMaSrpOmkz8eksNWkzqXHpaOl7KWvpcil6qTHpcClpKXKpd+lw6WvpemlpKXWpeml6qTyuu4KpOuks6TIpKykx6StpOuk6KSmpMukyqTqpN6kt6S/oaVSdWJ5pMvAxcWqpMul6qXzpa+kuaTrvuy556TLCqTPUnVieaTyxbizq6S3pL+lx6Wjpeylr6XIpeqkzrK8oaRleHSlx6Wjpeylr6XIpeqkzsPmpMuzyMSlCqXppaSl1qXpperN0aTOpcelo6Xspa+lyKXqpPK67qTryazN16SspKKk6qTepLmhpcy+wbCkz8WsxfakywrBqqTzpMe5vaSkpN6ku6TzoaUKCigyKSDA37fXpLmk6woKpN6koqGkxfbBs6TKpPOkx6S5pLGkyaGkpMmkpqSkpKa1oce9pPK8wri9pLmk66SrpMmkpqSrpN6kusDfCrfXpLmk68mszdekrKSipOqk3qS5oaWkyaTzpMqlr6Xppbmk8qTEpK+k66SroaSkvaTOpa+l6aW5pMukzwqkyaTzpMql4aW9pcOlyaSspKKk66SroaSlr6XppbmkrMTztqGkuaTrxOq/9KTKpMmky6TEpKSkxsDft9cKpLek3qS5oaUKCigzKSBDpbOhvKXJpPK98aSvCgqzyMSlpemlpKXWpeml6svcws6kyKTKpOtDuMC47KTOpb2hvKW5pPK98aStpN6kuaGlQ7jAuOykzqW9obwKpbmkrKTSpMikxKTOu/6ky6TPodal6aWkpdal6aXqzL4uY6HXpPLBqqTWpMjOyaSkpMekt6TnpKahpUMKuMC47KTOpb2hvKW5pKzKo7/0pM6+7LnnpMukz7XVpMuh1qXppaSl1qXpperMvi5jodekyKSkpKal1aWhCqWkpevMvqTPyPKksaTryazN16SspKKk6qTepLmhpaWqpdaluKWnpa+lyKXVpaGlpKXrpMil4qW4peWhvAql68C4wK67/qTLw+a01sWqpMvAuMCupLWk7KTrodal6aWkpdal6aXqzL4ub6HXpMikpKSmpdWloaWkpesKpMikrL7Xxs2kuaTrpKuk6aTHpLmhpaTepL+hpLjlvdKkuaTrIG1rbWYgpemlpKXWpeml6qTOpKSkr6TECqSrpM602L/0pKyls6XzpdGlpKXrpPLN16S5pOulxqW5pcikzqS/pOGky6HWY29uZnRlc3QuY6HXpMikpAqkpqXVpaGlpKXrzL6k8rvIzdGkuaTrpLOkyKTLw+2w1aS3pMakr6TApLWkpKGlpb2hvKW5pdWloaWkpesKzL6kyKS3pMah1mNvbmZ0ZXN0LmOh16Tyu8jN0aS3pMakz6TKpOqk3qS7pPOhpQoKUnVieaTPs8jEpaXppaSl1qXppeqk8qXtobylyaS5pOu7/qTLodZJbml0X6XppaSl1qXpperMvqHXpMgKpKSkprTYv/Sk8ryrxrDFqqTLvMK51KS3pN6kuaGlZGJtpemlpKXWpeml6qTOvuy556HWSW5pdF9kYm2h1wqkx6S5oaWks6TOtNi/9KTOw+akx6WvpemluaGkpeKluKXlobyl66GkpeGlvaXDpcmhpMTqv/SkyqTJpM4KxOq1waTyudSkpKTepLmhpWRibS5jpKuk6bDsyfSw+s3RpLek3qS5oaUKCi0tCnZvaWQKSW5pdF9kYm0odm9pZCkKewogICAgLyogREJNpa+l6aW5pPLE6rXBpLmk6yAqLwogICAgY0RCTSA9IHJiX2RlZmluZV9jbGFzcygiREJNIiwgcmJfY09iamVjdCk7CiAgICAvKiBEQk2kz0VudW1lcmF0ZaXipbil5aG8peuk8qWkpfOlr6XrobylyaS5pOsgKi8KICAgIHJiX2luY2x1ZGVfbW9kdWxlKGNEQk0sIHJiX21FbnVtZXJhYmxlKTsKCiAgICAvKiBEQk2lr6XppbmkzqWvpemluaXhpb2lw6XJb3BlbigpOiCw+r/0pM9DpM7H287zpMe89aSxpOsgKi8KICAgIHJiX2RlZmluZV9zaW5nbGV0b25fbWV0aG9kKGNEQk0sICJvcGVuIiwgZmRibV9zX29wZW4sIC0xKTsKCiAgICAvKiBEQk2lr6XppbmkzqXhpb2lw6XJY2xvc2UoKTogsPq/9KTPpMqktyAqLwogICAgcmJfZGVmaW5lX21ldGhvZChjREJNLCAiY2xvc2UiLCBmZGJtX2Nsb3NlLCAwKTsKICAgIC8qIERCTaWvpemluaTOpeGlvaXDpclbXTogsPq/9KTPMbjEICovCiAgICByYl9kZWZpbmVfbWV0aG9kKGNEQk0sICJbXSIsIGZkYm1fZmV0Y2gsIDEpOwoJCToKCiAgICAvKiBEQk2lx6G8pb+k8rPKx7ykuaTrpaSl86W5pb+l86W5ytG/9My+pM6kv6ThpM5JRCAqLwogICAgaWRfZGJtID0gcmJfaW50ZXJuKCJkYm0iKTsKfQotLQoKREJNpemlpKXWpeml6qTPZGJtpM6lx6G8pb+kyMLQsf6kuaTrpaql1qW4paelr6XIpMukyqTrpM+kuqTHCqS5pKuk6aGkQ6TOwKSzpqTOZGJtpPJSdWJ5pM7ApLOmpMu86KTquf6k4MmszdekrKSipOqk3qS5oaUKCgpkYm0uY6THpM9EYXRhX01ha2VfU3RydWN0pPKwyrK8pM6k6KSmpMu7yKTDpMakpKTepLmhpQoKLS0Kc3RydWN0IGRibWRhdGEgewogICAgaW50ICBkaV9zaXplOwogICAgREJNICpkaV9kYm07Cn07CgoKb2JqID0gRGF0YV9NYWtlX1N0cnVjdChrbGFzcywgc3RydWN0IGRibWRhdGEsIDAsIGZyZWVfZGJtLCBkYm1wKTsKLS0KCqSzpLOkx6TPZGJtc3RydWN0ub3CpMLOpNikzqXdpaSl86W/pPJEYXRhpMulq6XXpbul67K9pLekxqSkCqTepLmhpURCTSqk8sS+wNylq6XXpbul67K9pLekyqSkpM6kz2Nsb3NlKCmkt6S/u/6kzr3ozf2k8rnNCqSopMakzqSzpMikx6S5oaUKCkRhdGGlqqXWpbilp6Wvpcikq6TpZGJtc3RydWN0ub3CpMLOpM6l3aWkpfOlv6TyvOik6r3QpLmkv6ThCqTLsMqyvKTOpd6lr6XtpPK7yKTDpMakpKTepLmhpQoKLS0KI2RlZmluZSBHZXREQk0ob2JqLCBkYm1wKSB7XAogICAgRGF0YV9HZXRfU3RydWN0KG9iaiwgc3RydWN0IGRibWRhdGEsIGRibXApO1wKICAgIGlmIChkYm1wLT5kaV9kYm0gPT0gMCkgY2xvc2VkX2RibSgpO1wKfQotLQoKpMGk56TDpMjKo7uopMql3qWvpe2kx6S5pKyhpM3XpLmk66TLZGJtZGF0Ybm9wqTCzqTOpd2lpKXzpb8KpM686KTqvdCkt6TIoaRjbG9zZaS1pOykxqSkpOukq6TJpKakq6TOpcGlp6XDpa+k8qTepMik4aTGpKQKpOukwKSxpMekuaGlCgpEQk2lr6Xppbmky6TPpL+kr6S1pPOl4aW9pcOlyaSspKKk6qTepLmkrKGkyqzO4KS5pOukyDO8787gpM4KsPq/9KTOvPWkscr9pKykoqTqpN6kuaGlpNKkyKTEpM+w+r/0pM6/9KSsuMfE6qTOpOKkzqTHoaTO46TICqS3pMakz2RlbGV0ZaXhpb2lw6XJpKykoqTqpN6kuaGlZGVsZXRlpeGlvaXDpcmk8rzCwfWkt6TGpKSk6wpmZGJtX2RlbGV0ZSgppM+ks6TOpOikpqTLpMqkw6TGpKSk3qS5oaUKCi0tCnN0YXRpYyBWQUxVRQpmZGJtX2RlbGV0ZShWQUxVRSBvYmosIFZBTFVFIGtleXN0cikKewoJOgp9Ci0tCgqw+r/0pM6/9KSsuMfE6qTOpb+lpKXXpM/C6DGw+r/0pKxzZWxmoaTC6DKw+r/0sMq536SspeGlvaXDpckKpM6w+r/0pMikyqTqpN6kuaGlCgqw+r/0pM6/9KSsydTE6qTOpOKkzqTPQ6TOx9vO86THvPWksaTrpOKkzqTIUnVieaTOx9vO86THvPWksQqk66TipM6kyKSspKKk6qTepLmhpWRibaXppaSl1qXppeqkzsPmpMehpEOkzsfbzvOkx7z1pLGk66TipM4KpM9EQk2kzqWvpemluaXhpb2lw6XJpMekoqTrb3BlbigppMekuaGlpLOk7KTyvMLB9aS3pMakpKTrtNgKv/RmZGJtX3Nfb3BlbigppM+ks6SmpMqkw6TGpKSk3qS5oaUKCi0tCnN0YXRpYyBWQUxVRQpmZGJtX3Nfb3BlbihpbnQgYXJnYywgVkFMVUUgKmFyZ3YsIFZBTFVFIGtsYXNzKQp7Cgk6CiAgICBpZiAocmJfc2Nhbl9hcmdzKGFyZ2MsIGFyZ3YsICIxMSIsICZmaWxlLCAmdm1vZGUpID09IDEpIHsKCW1vZGUgPSAwNjY2OwkJLyogZGVmYXVsdCB2YWx1ZSAqLwogICAgfQoJOgp9Ci0tCgqks6TOpb+lpKXXpM602L/0pM/C6DGw+r/0pKzNv6SopOmk7KS/sPq/9KTOv/ShpMLoMrD6v/SkrM2/pKgKpOmk7KS/sPq/9KTOxv6kw6TGpKSk68fbzvOky6TKpOqk3qS5oaVzZWxmpM/C6DOw+r/0pMikt6TGzb8KpKik6aTspN6kuaGlCgqks6TOx9vO86THzb+kqKTppOykv7D6v/Sk8rLywM+kuaTrpL+k4aTOtNi/9KSsb3BlbigppMek4rvIpO8KpOykxqSkpOtyYl9zY2FuX2FyZ3MoKaTHpLmhpcLoM7D6v/Sky7vYxOqkt6S/pdWlqaG8pd6lw6XIpMu9vgqkpKGkwug0ytG/9LDKud+ky7vYxOqkt6S/VkFMVUWk2KTOu7K+yKTLw82k8sLlxv6kt6TGpK+k7KTeCqS5oaUKCgqw+r/0pPJSdWJ5pM7H287zpMikt6TGvPWksbzopOul4aW9pcOlyaTOzuOky6TPClRocmVhZCNpbml0aWFsaXplpKykoqTqpN6kuaGlvMLB9aTPpLOkpqTHpLmhpQoKLS0Kc3RhdGljIFZBTFVFCnRocmVhZF9pbml0aWFsaXplKFZBTFVFIHRocmVhZCwgVkFMVUUgYXJncykKewoJOgp9Ci0tCgrC6DGw+r/0pM9zZWxmoaTC6DKw+r/0pM9SdWJ5pM7H287zpMekuaGlCgoqKiDD7bDVu/a54AoKUnVieaTItqbNraTPpLekyqSkpKxSdWJ5pM6lqqXWpbilp6Wvpcik8rPKx7ykuaTrssTHvcCtpM6koqTrCkOkzsLnsOjK0b/0pM+wyrK8pM602L/0pPK7yKTDpMZSdWJ5paSl86W/pdel6qW/pMvK0b/0pM7CuLrfCqTytrWkqKTGpKKksqTGpK+kwKS1pKShpaTHpMqkpKTIR0Okx6XIpeml1qXrpPK1r6SzpLek3qS5oaUKCiAgdm9pZCByYl9nbG9iYWxfdmFyaWFibGUoVkFMVUUgKnZhcikKCig0KSBleHRjb25mLnJipPLN0bDVpLmk6woKTWFrZWZpbGWk8rrupOu+7LnnpM6/97e/pMukyqTrZXh0Y29uZi5yYqTIpKSkpqXVpaGlpKXrpPK67qTqCqTepLmhpWV4dGNvbmYucmKkz6XppaSl1qXppeqkzqWzpfOl0aWkpeuky8mszdekyr7yt++kzqXBpaelwwqlr6TKpMmk8rnUpKaks6TIpKzM3MWqpMekuaGlpN6kuqGkCgogIHJlcXVpcmUgJ21rbWYnCgqk8mV4dGNvbmYucmKkzsDoxqyky8PWpK2k3qS5oaVleHRjb25mLnJipM7D5qTHpM+wyrK8pM5SdWJ5tNgKv/Sk8rvIpKaks6TIpKy90M3opN6kuaGlCgogIGhhdmVfbGlicmFyeShsaWIsIGZ1bmMpOiCl6aWkpdal6aXqpM7CuLrfpcGlp6XDpa8KICBoYXZlX2Z1bmMoZnVuYywgaGVhZGVyKTogtNi/9KTOwri636XBpaelw6WvCiAgaGF2ZV9oZWFkZXIoaGVhZGVyKTogpdilw6XApdWloaWkpeukzsK4ut+lwaWnpcOlrwogIGNyZWF0ZV9tYWtlZmlsZSh0YXJnZXQpOiBNYWtlZmlsZaTOwLjArgoKsMqyvKTOytG/9KTyu8ikpqSzpMikrKTHpK2k3qS5oaUKCiAgJENGTEFHUzogpbOl86XRpaSl67v+pMvEybLDxaqky7vYxOqkuaTrpdWl6aWwKC1PpMqkySkKICAkQ1BQRkxBR1M6IKXXpeql16Xtpbulw6W1pMvEybLDxaqky7vYxOqkuaTrpdWl6aWwKC1JpOQtRKTKpMkpCiAgJExERkxBR1M6IKXqpfOlr7v+pMvEybLDxaqky7vYxOqkuaTrpdWl6aWwKC1MpMqkySkKICAkb2Jqczogpeql86WvpLWk7KTrpaql1qW4paelr6XIpdWloaWkpevMvqTOpeqluaXICgqlqqXWpbilp6Wvpcil1aWhpaSl66TOpeqluaXIpM+hpMTMvu+kz6W9obyluaXVpaGlpKXrpPK4obr3pLcKpMa8q8awxaqky8C4wK6ktaTspN6kuaSsoaRtYWtlpM7F08PmpMelvaG8pbmk8sC4wK6kuaTrpOikpqTKCr7sueekz8zAvKjFqqTLu9jE6qS5pOvJrM3XpKykoqTqpN6kuaGlCgql6aWkpdal6aXqpPKls6XzpdGlpKXrpLmk677yt++krMK3pO+kuqGkpL2kzqXppaSl1qXppeqk8qWzpfMKpdGlpKXrpLekyqSku/6ky6TPY3JlYXRlX21ha2VmaWxlpPK4xqTQpMqksaTspNBNYWtlZmlsZaTPwLgKwK6ktaTspLqhpKWzpfOl0aWkpeuk4rnUpO+k7KTepLuk86GlCgooNSkgZGVwZW5kpPLN0bDVpLmk6woKpOKkt6Gkpcelo6Xspa+lyKXqpMtkZXBlbmSkyKSkpKal1aWhpaSl66Sswri636S5pOyk0KGkCk1ha2VmaWxlpKywzcK4tNi3uKTypcGlp6XDpa+kt6TGpK+k7KTepLmhpQoKICAlIGdjYyAtTU0gKi5jID4gZGVwZW5kCgqkyqTJpMe67qTrpLOkyKSsvdDN6KTepLmhpaSipMOkxsK7pM/MtaSkpMekt6TnpKahpQoKKDYpIE1ha2VmaWxlpPLAuMCupLmk6woKTWFrZWZpbGWk8rzCut2ky8C4wK6kuaTrpL+k4aTLpM8KCiAgcnVieSBleHRjb25mLnJiCgqkyKS3pN6kuaGlZXh0Y29uZi5yYqTLIHJlcXVpcmUgJ21rbWYnIKTOudSkrKTKpKS+7LnnpMukz6WopemhvAqky6TKpOqk3qS5pM6kx6GksPq/9KTyxMmyw6S3pMYKCiAgcnVieSAtciBta21mIGV4dGNvbmYucmIKCqTIpLekxqSvpMCktaSkoaUKCnNpdGVfcnVieSClx6Wjpeylr6XIpeqkx6TKpK+hpAp2ZW5kb3JfcnVieSClx6Wjpeylr6XIpeqky6WkpfOluaXIobyl66S5pOu+7LnnpMukzwqwyrK8pM6k6KSmpMsgLS12ZW5kb3Igpaql16W3peel86TyssOkqKTGpK+kwKS1pKShpQoKICBydWJ5IGV4dGNvbmYucmIgLS12ZW5kb3IKCqXHpaOl7KWvpcil6qTyZXh0sMqyvKTLzdGw1aS3pL++7LnnpMukz1J1YnnBtMLOpM5tYWtlpM67/qTLCryrxrDFqqTLTWFrZWZpbGWkrMC4wK6ktaTspN6kuaTOpMehpKSzpM6luaXGpcOl16TPydTN16THpLmhpQoKKDcpIG1ha2WkuaTrCgrGsMWqpeql86WvpemlpKXWpeml6qTywLjArqS5pOu+7LnnpMukz6S9pM6+7KTHbWFrZaS3pMakr6TApLUKpKShpcmszdekx6SipOyk0CBtYWtlIGluc3RhbGwgpMelpKXzpbmlyKG8peuktaTspN6kuaGlCgpleHSwyrK8pMulx6Wjpeylr6XIpeqk8s3RsNWkt6S/vuy556TPoaRSdWJ5pM6lx6Wjpeylr6XIpeqkxwptYWtlpPK8wrnUpLmk66TITWFrZWZpbGWk8sC4wK6kq6TpbWFrZaGkyazN16TLpOikw6TGpM+kvaTOpeIKpbil5aG8peukzlJ1Ynmk2KTOpeql86WvpN6kx7yrxrDFqqTLvMK51KS3pMakr6TspN6kuaGlCmV4dGNvbmYucmKk8r3xpK20uaSopOukyqTJpLekxk1ha2VmaWxlpM66xsC4wK6krMmszdekyrv+pM+k3gqkv1J1Ynmlx6Wjpeylr6XIpeqkx21ha2Wkt6TGpK+kwKS1pKShpQoKs8jEpaXppaSl1qXppeqkz21ha2UgaW5zdGFsbKTHUnVieaXppaSl1qXppeqkzqXHpaOl7KWvpcil6qTOCrK8pMuls6XUobyktaTspN6kuaGlpOKkt7PIxKWl6aWkpdal6aXqpMi2qMS0pLekxrvIpKZSdWJ5pMe1rQq90qS1pOykv6XXpe2lsKXppeCkrKSipOqhpFJ1Ynml6aWkpdal6aXqpMvD1qStpL+kpL7sueeky6TPoaQKs8jEpaXppaSl1qXpperN0aTOpcelo6Xspa+lyKXqpM6yvKTLIGxpYiCkyKSkpKalx6Wjpeylr6XIpeoKpPK67qTqoaSkvaSzpMsgs8jEpbvSIC5yYiCkzqXVpaGlpKXrpPLD1qSkpMakqqSxpNDGsbv+pMulpKXzCqW5pcihvKXrpLWk7KTepLmhpQoKKDgpIKXHpdClw6WwCgqk3qSioaSlx6XQpcOlsKS3pMqkpKTIxrCkq6TKpKSkx6S3pOekpqTNoaVleHQvU2V0dXCky6XHpaOl7Aqlr6XIperMvqTyvfGkr6TIwMXFqqTLpeql86WvpLmk66TOpMelx6XQpcOlrKSsu8ikqKTrpOikpqTLpMoKpOqk3qS5oaWkvaTOyqyls6XzpdGlpKXrpKzD2aSvpMqk6qTepLmksaTJoaUKCig5KSCkx6StpKKkrKTqCgq45aTPpLOkw6S9pOq7yKSmpMqk6qGkua2kr7j4s6ukuaTrpMqk6qGkx+Sk66TKpOqhpKS0vKvNs6TLpKoKu8ikpKSvpMCktaSkoaVSdWJ5pM667rzUpM+zyMSlpemlpKXWpeml6qTLtNikt6TGsOzA2qTOuKLN+KTyCrznxKWkt6TepLuk86GlCgpBcHBlbmRpeCBBLiBSdWJ5pM6lvaG8pbmls6G8pcmkzsqszuAKClJ1YnmkzqW9obyluaTPpKSkr6TEpKuky8qszuCkuaTrpLOkyKSsvdDN6KTepLmhpaSzpM6kpqTBpa+l6QqluaXppaSl1qXppeqkzsn0yqykz7Twy9zFqqTLs8jEpaXppaSl1qXppeqkyMaxpLi67qTqyv2ky6TKpMMKpMakpKTepLmhpaSzpOyk6aTOpb2hvKW5pM+6o6TepMekzsDizMCkx6TbpMik86TJzf2y8qTHpK2k66TICrvXpKSk3qS5oaUKClJ1Ynm4wLjspM6ls6WiCgogIGNsYXNzLmMgICAgICAgICA6IKWvpemluaTIpeKluKXlobyl6wogIGVycm9yLmMgICAgICAgICA6IM7js7Clr6XppbmkyM7js7C1obm9CiAgZ2MuYyAgICAgICAgICAgIDogta2ysc7OsOi0yc39CiAgbG9hZC5jICAgICAgICAgIDogpemlpKXWpeml6qTOpe2hvKXJCiAgb2JqZWN0LmMgICAgICAgIDogpaql1qW4paelr6XICiAgdmFyaWFibGUuYyAgICAgIDogytG/9KTIxOq/9AoKUnVieaTOub3KuLLywM+07wogIHBhcnNlLnkgICAgICAgICA6ILv6tuey8sDPtO+kyLm9yrjE6rXBCiAgICAtPiBwYXJzZS5jICAgIDogvKvGsMC4wK4KICBrZXl3b3JkcyAgICAgICAgOiDNvczzuOwKICAgIC0+IGxleC5jICAgICAgOiC8q8awwLjArgoKUnVieaTOyb6ywbTvICjEzL7OWUFSVikKICBjb21waWxlLmMKICBldmFsLmMKICBldmFsX2Vycm9yLmMKICBldmFsX2p1bXAuYwogIGV2YWxfc2FmZS5jCiAgaW5zbnMuZGVmICAgICAgICAgICA6ILK+wdu1obOjuOykzsTqtcEKICBpc2VxLmMgICAgICAgICAgICAgIDogVk06OklTZXGkzrzCwfUKICB0aHJlYWQuYyAgICAgICAgICAgIDogpbml7KXDpcm0yc39pMils6XzpcalraW5pcjA2qTqwtikqAogIHRocmVhZF93aW4zMi5jICAgICAgOiCluaXspcOlybzCwfUKICB0aHJlYWRfcHRocmVhZC5jICAgIDogxrG+5QogIHZtLmMKICB2bV9kdW1wLmMKICB2bV9ldmFsLmMKICB2bV9leGVjLmMKICB2bV9pbnNuaGVscGVyLmMKICB2bV9tZXRob2QuYwoKICBvcHRfaW5zbnNfdW5pZi5kZWYgIDogzL/O4c27uecKICBvcHRfb3BlcmFuZC5kZWYgICAgIDogusfFrLK9pM6kv6ThpM7E6rXBCgogICAgLT4gaW5zbiouaW5jICAgICAgOiC8q8awwLjArgogICAgLT4gb3B0Ki5pbmMgICAgICAgOiC8q8awwLjArgogICAgLT4gdm0uaW5jICAgICAgICAgOiC8q8awwLjArgoKwLW1rMm9uL2lqKXzpbil8yAotbS81ikKICByZWdleC5jCiAgcmVnY29tcC5jCiAgcmVnZW5jLmMKICByZWdlcnJvci5jCiAgcmVnZXhlYy5jCiAgcmVncGFyc2UuYwogIHJlZ3N5bnRheC5jCgql5qG8pcalo6Xqpcalo7TYv/QKCiAgZGVidWcuYyAgICAgICA6IEOlx6XQpcOlrM3RpM6lx6XQpcOlsKW3pfOl3KXrCiAgZGxuLmMgICAgICAgICA6IMawxaql7aG8pcelo6XzpbAKICBzdC5jICAgICAgICAgIDogyMbN0aXPpcOlt6Xlyb0KICBzdHJmdGltZS5jICAgIDogu/6578Cwt8EKICB1dGlsLmMgICAgICAgIDogpL2kzsK+pM6l5qG8pcalo6XqpcalowoKUnVieaWzpd6l86XJpM68wsH1CgogIGRteWV4dC5jCiAgZG15ZGxuLmMKICBkbXllbmNvZGluZy5jCiAgaWQuYwogIGluaXRzLmMKICBtYWluLmMKICBydWJ5LmMKICB2ZXJzaW9uLmMKCiAgZ2VtX3ByZWx1ZGUucmIKICBwcmVsdWRlLnJiCgqlr6Xppbml6aWkpdal6aXqCgogIGFycmF5LmMgICAgICAgOiBBcnJheQogIGJpZ251bS5jICAgICAgOiBCaWdudW0KICBjb21wYXIuYyAgICAgIDogQ29tcGFyYWJsZQogIGNvbXBsZXguYyAgICAgOiBDb21wbGV4CiAgY29udC5jICAgICAgICA6IEZpYmVyLCBDb250aW51YXRpb24KICBkaXIuYyAgICAgICAgIDogRGlyCiAgZW51bS5jICAgICAgICA6IEVudW1lcmFibGUKICBlbnVtZXJhdG9yLmMgIDogRW51bWVyYXRvcgogIGZpbGUuYyAgICAgICAgOiBGaWxlCiAgaGFzaC5jICAgICAgICA6IEhhc2gKICBpby5jICAgICAgICAgIDogSU8KICBtYXJzaGFsLmMgICAgIDogTWFyc2hhbAogIG1hdGguYyAgICAgICAgOiBNYXRoCiAgbnVtZXJpYy5jICAgICA6IE51bWVyaWMsIEludGVnZXIsIEZpeG51bSwgRmxvYXQKICBwYWNrLmMgICAgICAgIDogQXJyYXkjcGFjaywgU3RyaW5nI3VucGFjawogIHByb2MuYyAgICAgICAgOiBCaW5kaW5nLCBQcm9jCiAgcHJvY2Vzcy5jICAgICA6IFByb2Nlc3MKICByYW5kb20uYyAgICAgIDogzfC/9AogIHJhbmdlLmMgICAgICAgOiBSYW5nZQogIHJhdGlvbmFsLmMgICAgOiBSYXRpb25hbAogIHJlLmMgICAgICAgICAgOiBSZWdleHAsIE1hdGNoRGF0YQogIHNpZ25hbC5jICAgICAgOiBTaWduYWwKICBzcHJpbnRmLmMgICAgIDogCiAgc3RyaW5nLmMgICAgICA6IFN0cmluZwogIHN0cnVjdC5jICAgICAgOiBTdHJ1Y3QKICB0aW1lLmMgICAgICAgIDogVGltZQoKICBkZWZzL2tub3duX2Vycm9ycy5kZWYgIDogzuOzsKWvpemluSBFcnJubzo6KgogICAgLT4ga25vd25fZXJyb3JzLmluYyAgOiC8q8awwLjArgoKwr+4wLjssr0KICBlbmNvZGluZy5jICAgIDogRW5jb2RpbmcKICB0cmFuc2NvZGUuYyAgIDogRW5jb2Rpbmc6OkNvbnZlcnRlcgogIGVuYy8qLmMgICAgICAgOiClqKXzpbOhvKXHpaOl86Wwpa+l6aW5t7IKICBlbmMvdHJhbnMvKiAgIDogpbOhvKXJpd2lpKXzpcjC0LH+yb0KCmdvcnVieaWzpd6l86XJpM68wsH1CiAgCiAgZ29ydWJ5LmMKICBnb2xmX3ByZWx1ZGUucmIgICAgICA6IGdvcnViebjHza2kzqXppaSl1qXppeoKICAgIC0+IGdvbGZfcHJlbHVkZS5jICA6ILyrxrDAuMCuCgoKQXBwZW5kaXggQi4gs8jEpc3RtNi/9KXqpdWloaXspfOluQoKQ7jAuOykq6TpUnVieaTOtaHHvaTyzfjN0aS5pOtBUEmkz7DKsrykzsTMpOqkx6SipOuhpQoKKiogt78KClZBTFVFCgogIFJ1YnmlqqXWpbilp6Wvpcik8sm9uL2kuaTrt7+hpcmszdeky7H+pLikxqWtpeOluaXIpLekxs3RpKSk66GlCiAgwcik37n+pN+3v6Tyyb24vaS5pOtDpM63v6TPcnVieS5opMu1rb3SpLekxqSipOtSpMe7z6TepOu5vcKkCiAgws6kx6SipOuhpVZBTFVFt7+k8qSzpOyk6aTLpa2l46W5pcikuaTrpL+k4aTLUqTHu8+k3qTrub3CpMLOCiAgzL6k8sG0pMbC58q4u/qky6S3pL/MvsGwpM6l3qWvpe2krM3RsNWktaTspMakpKTroaUKCioqIMrRv/ShpsTqv/QKClFuaWwKCiAgxOq/9Dogbmlspaql1qW4paelr6XICgpRdHJ1ZQoKICDE6r/0OiB0cnVlpaql1qW4paelr6XIKL+/pM6lx6XVpaml66XIw80pCgpRZmFsc2UKCiAgxOq/9DogZmFsc2WlqqXWpbilp6WvpcgKCioqIEOlx6G8pb+kzqWrpdelu6Xrsr0KCkRhdGFfV3JhcF9TdHJ1Y3QoVkFMVUUga2xhc3MsIHZvaWQgKCptYXJrKSgpLCB2b2lkICgqZnJlZSkoKSwgdm9pZCAqc3ZhbCkKCiAgQ6TOx6Sw1aTOpd2lpKXzpb+k8qWrpdelu6Xrsr2kt6S/UnVieaWqpdaluKWnpa+lyKTyytakuaGlpLMKICCkzqXdpaSl86W/pKxSdWJ5pKuk6aWipa+lu6W5pLWk7KTKpK+kyqTDpL+7/qGkZnJlZaTHu9jE6qS3pL8KICC02L/0pKy4xqTQpOyk66GlpN6kv6GkpLOkzqXdpaSl86W/pM672KS5pcehvKW/pKzCvqTOUnVieaWqpdYKICCluKWnpa+lyKTyu9ikt6TGpKSk677sueehpG1hcmuky7vYxOqkuaTrtNi/9KTHpd6hvKWvpLmk68mszdcKICCkrKSipOuhpQoKRGF0YV9NYWtlX1N0cnVjdChrbGFzcywgdHlwZSwgbWFyaywgZnJlZSwgc3ZhbCkKCiAgdHlwZbe/pM6l4aXipeqk8m1hbGxvY6S3oaTK0b/0c3ZhbKTLwuXG/qS3pL+45aGkpL2k7KTypaul16W7CiAgpeuyvaS3pL+lx6G8pb+k8srWpLml3qWvpe2hpQoKRGF0YV9HZXRfU3RydWN0KGRhdGEsIHR5cGUsIHN2YWwpCgogIGRhdGGkq6TpdHlwZbe/pM6l3aWkpfOlv6TyvOik6r3QpLfK0b/0c3ZhbKTLwuXG/qS5pOul3qWvpe2hpQoKKiogt7+lwaWnpcOlrwoKVFlQRSh2YWx1ZSkKRklYTlVNX1AodmFsdWUpCk5JTF9QKHZhbHVlKQp2b2lkIENoZWNrX1R5cGUoVkFMVUUgdmFsdWUsIGludCB0eXBlKQp2b2lkIENoZWNrX1NhZmVTdHIoVkFMVUUgdmFsdWUpCgoqKiC3v8rRtLkKCkZJWDJJTlQodmFsdWUpLCBJTlQyRklYKGkpCkZJWDJMT05HKHZhbHVlKSwgTE9ORzJGSVgobCkKTlVNMklOVCh2YWx1ZSksIElOVDJOVU0oaSkKTlVNMlVJTlQodmFsdWUpLCBVSU5UMk5VTSh1aSkKTlVNMkxPTkcodmFsdWUpLCBMT05HMk5VTShsKQpOVU0yVUxPTkcodmFsdWUpLCBVTE9ORzJOVU0odWwpCk5VTTJMTCh2YWx1ZSksIExMMk5VTShsbCkKTlVNMlVMTCh2YWx1ZSksIFVMTDJOVU0odWxsKQpOVU0yT0ZGVCh2YWx1ZSksIE9GRlQyTlVNKG9mZikKTlVNMlNJWkVUKHZhbHVlKSwgU0laRVQyTlVNKHNpemUpCk5VTTJTU0laRVQodmFsdWUpLCBTU0laRVQyTlVNKHNzaXplKQpOVU0yREJMKHZhbHVlKQpyYl9mbG9hdF9uZXcoZikKU3RyaW5nVmFsdWUodmFsdWUpClN0cmluZ1ZhbHVlUHRyKHZhbHVlKQpTdHJpbmdWYWx1ZUNTdHIodmFsdWUpCnJiX3N0cl9uZXcyKHMpCgoqKiClr6XppbkvpeKluKXlobyl68TqtcEKClZBTFVFIHJiX2RlZmluZV9jbGFzcyhjb25zdCBjaGFyICpuYW1lLCBWQUxVRSBzdXBlcikKCiAgc3VwZXKkzqW1pdalr6XppbmkyKS3pMa/t6S3pKRSdWJ5pa+l6aW5pPLE6rXBpLmk66GlCgpWQUxVRSByYl9kZWZpbmVfY2xhc3NfdW5kZXIoVkFMVUUgbW9kdWxlLCBjb25zdCBjaGFyICpuYW1lLCBWQUxVRSBzdXBlcikKCiAgc3VwZXKkzqW1pdalr6XppbmkyKS3pMa/t6S3pKRSdWJ5pa+l6aW5pPLE6rXBpLehpG1vZHVsZaTOCiAgxOq/9KTIpLekxsTqtcGkuaTroaUKClZBTFVFIHJiX2RlZmluZV9tb2R1bGUoY29uc3QgY2hhciAqbmFtZSkKCiAgv7ekt6SkUnVieaXipbil5aG8peuk8sTqtcGkuaTroaUKClZBTFVFIHJiX2RlZmluZV9tb2R1bGVfdW5kZXIoVkFMVUUgbW9kdWxlLCBjb25zdCBjaGFyICpuYW1lKQoKICC/t6S3pKRSdWJ5peKluKXlobyl66TyxOq1waS3oaRtb2R1bGWkzsTqv/SkyKS3pMbE6rXBpLmk66GlCgp2b2lkIHJiX2luY2x1ZGVfbW9kdWxlKFZBTFVFIGtsYXNzLCBWQUxVRSBtb2R1bGUpCgogIKXipbil5aG8peuk8qWkpfOlr6XrobylyaS5pOuhpWNsYXNzpKykuaTHpMttb2R1bGWk8qWkpfOlrwogIKXrobylyaS3pMakpKTru/6ky6TPsr+k4qS3pMqkpCjCv73FpaSl86WvpeuhvKXJpM622LvfKaGlCgp2b2lkIHJiX2V4dGVuZF9vYmplY3QoVkFMVUUgb2JqZWN0LCBWQUxVRSBtb2R1bGUpCgogIKWqpdaluKWnpa+lyKTypeKluKXlobyl6yikx8TqtcGktaTspMakpKTrpeGlvaXDpckppMezyMSlpLmk66GlCgoqKiDC57DoytG/9MTqtcEKCnZvaWQgcmJfZGVmaW5lX3ZhcmlhYmxlKGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFICp2YXIpCgogIFJ1YnmkyEOkyKTHtqbNraS5pOulsKXtobyl0KXrytG/9KTyxOq1waS5pOuhpcrRv/TMvqSsYCQnpMcKICC7z6TepOmkyqSku/6ky6TPvKvGsMWqpMvEybLDpLWk7KTroaVuYW1lpMikt6TGUnVieaTOvLHKzLvSCiAgpMikt6TGtfaktaTspMqkpMq4u/oozuOkqKTQYCAnKaTytN6k4L7sueeky6TPUnVieaXXpe2lsKXpCiAgpeCkq6TppM+4q6SopMqkr6TKpOuhpQoKdm9pZCByYl9kZWZpbmVfcmVhZG9ubHlfdmFyaWFibGUoY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgKnZhcikKCiAgUnVieaTIQ6TIpMe2ps2tpLmk63JlYWQgb25seaTOpbCl7aG8pdCl68rRv/Sk8sTqtcGkuaTroaUKICByZWFkIG9ubHmkx6SipOuks6TIsMqzsKTPcmJfZGVmaW5lX3ZhcmlhYmxlKCmkyMaxpLihpQoKdm9pZCByYl9kZWZpbmVfdmlydHVhbF92YXJpYWJsZShjb25zdCBjaGFyICpuYW1lLAoJCQkJVkFMVUUgKCpnZXR0ZXIpKCksIHZvaWQgKCpzZXR0ZXIpKCkpCgogILTYv/Sky6TopMOkxrzCuL2ktaTspOtSdWJ5ytG/9KTyxOq1waS5pOuhpcrRv/SkrLuyvsiktaTspL8KICC7/qTLpM9nZXR0ZXKkrKGkytG/9KTLw82krKW7pcOlyKS1pOykv7v+pMukz3NldHRlcqSsuMak0KTsCiAgpOuhpQoKdm9pZCByYl9kZWZpbmVfaG9va2VkX3ZhcmlhYmxlKGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFICp2YXIsCgkJCSAgICAgICBWQUxVRSAoKmdldHRlcikoKSwgdm9pZCAoKnNldHRlcikoKSkKCiAgtNi/9KTLpOikw6TGaG9va6TOpMSksaTppOykv6Wwpe2hvKXQpevK0b/0pPLE6rXBpLmk66GlytG/9AogIKSsu7K+yKS1pOykv7v+pMukz2dldHRlcqSsoaS02L/0pMvDzaSspbulw6XIpLWk7KS/u/6ky6TPCiAgc2V0dGVypKy4xqTQpOyk66GlZ2V0dGVypORzZXR0ZXKkyzCk8rvYxOqkt6S/u/6ky6TPaG9va6TyCiAgu9jE6qS3pMqkpKTOpMjGsaS4u/aky6TKpOuhpQoKdm9pZCByYl9nbG9iYWxfdmFyaWFibGUoVkFMVUUgKnZhcikKCiAgR0OkzqS/pOGhpFJ1Ynml16XtpbCl6aXgpKuk6aTPpaKlr6W7pbmktaTspMqkpKSsLCBSdWJ5paql1gogIKW4paelr6XIpPK03qTgwuew6MrRv/Sk8qXeobylr6S5pOuhpQoKKiogxOq/9AoKdm9pZCByYl9kZWZpbmVfY29uc3QoVkFMVUUga2xhc3MsIGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFIHZhbCkKCiAgxOq/9KTyxOq1waS5pOuhpQoKdm9pZCByYl9kZWZpbmVfZ2xvYmFsX2NvbnN0KGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFIHZhbCkKCiAgwuew6MTqv/Sk8sTqtcGkuaTroaUKCiAgICAgcmJfZGVmaW5lX2NvbnN0KHJiX2NPYmplY3QsIG5hbWUsIHZhbCkKCiAgpMjGsaS4sNXMo6GlCgoqKiCl4aW9pcOlycTqtcEKCnJiX2RlZmluZV9tZXRob2QoVkFMVUUga2xhc3MsIGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFICgqZnVuYykoKSwgaW50IGFyZ2MpCgogIKXhpb2lw6XJpPLE6rXBpLmk66GlYXJnY6TPc2VsZqTyvfykr7D6v/Skzr/0oaVhcmdjpKwtMaTOu/4sIAogILTYv/Sky6TPsPq/9KTOv/Qoc2VsZqTytN6k3qTKpKQppPLC6DGw+r/0LCCw+r/0pM7H287zpPLC6DIKICCw+r/0pMikuaTrt8G8sKTHzb+kqKTppOyk6yjC6DOw+r/0pM9zZWxmKaGlYXJnY6SsLTKkzrv+LCAKICDC6DGw+r/0pKxzZWxmLCDC6DKw+r/0pKxhcmdzKGFyZ3Okz7D6v/Sk8rTepOBSdWJ5pM7H287zKaTICiAgpKSkprfBvLCkx82/pKik6aTspOuhpQogCnJiX2RlZmluZV9wcml2YXRlX21ldGhvZChWQUxVRSBrbGFzcywgY29uc3QgY2hhciAqbmFtZSwgVkFMVUUgKCpmdW5jKSgpLCBpbnQgYXJnYykKCiAgcHJpdmF0ZaXhpb2lw6XJpPLE6rXBpLmk66GlsPq/9KTPcmJfZGVmaW5lX21ldGhvZCgppMjGsaS4oaUKCnJiX2RlZmluZV9zaW5nbGV0b25fbWV0aG9kKFZBTFVFIGtsYXNzLCBjb25zdCBjaGFyICpuYW1lLCBWQUxVRSAoKmZ1bmMpKCksIGludCBhcmdjKQoKICDGw7DbpeGlvaXDpcmk8sTqtcGkuaTroaWw+r/0pM9yYl9kZWZpbmVfbWV0aG9kKCmkyMaxpLihpQoKcmJfc2Nhbl9hcmdzKGludCBhcmdjLCBWQUxVRSAqYXJndiwgY29uc3QgY2hhciAqZm10LCAuLi4pCgogIGFyZ2MsIGFyZ3a3wbywpMfNv6SopOmk7KS/u9jE6qS1pOykv6XVpamhvKXepcOlyKTLvb6kw6TGsPoKICC/9KTyyqyy8qS3oaTCs6SvVkFMVUWk2KTOu7K+yKTLpbulw6XIpLek3qS5oaWks6TOpdWlqaG8pd6lwwogIKXIpM+hpEFCTkakx7WtvdKkuaTrpMiwyrK8pM7EzKTqpMekuaGlCgotLQpzY2FuLWFyZy1zcGVjICA6PSBwYXJhbS1hcmctc3BlYyBbb3B0aW9uLWhhc2gtYXJnLXNwZWNdIFtibG9jay1hcmctc3BlY10KCnBhcmFtLWFyZy1zcGVjIDo9IHByZS1hcmctc3BlYyBbcG9zdC1hcmctc3BlY10gLyBwb3N0LWFyZy1zcGVjIC8gcHJlLW9wdC1wb3N0LWFyZy1zcGVjCnByZS1hcmctc3BlYyAgIDo9IG51bS1vZi1sZWFkaW5nLW1hbmRhdG9yeS1hcmdzIFtudW0tb2Ytb3B0aW9uYWwtYXJnc10KcG9zdC1hcmctc3BlYyAgOj0gc3ltLWZvci12YXJpYWJsZS1sZW5ndGgtYXJncyBbbnVtLW9mLXRyYWlsaW5nLW1hbmRhdG9yeS1hcmdzXQpwcmUtb3B0LXBvc3QtYXJnLXNwZWMgOj0gbnVtLW9mLWxlYWRpbmctbWFuZGF0b3J5LWFyZ3MgbnVtLW9mLW9wdGlvbmFsLWFyZ3MgbnVtLW9mLXRyYWlsaW5nLW1hbmRhdG9yeS1hcmdzCm9wdGlvbi1oYXNoLWFyZy1zcGVjIDo9IHN5bS1mb3Itb3B0aW9uLWhhc2gtYXJnCmJsb2NrLWFyZy1zcGVjIDo9IHN5bS1mb3ItYmxvY2stYXJnCgpudW0tb2YtbGVhZGluZy1tYW5kYXRvcnktYXJncyAgOj0gRElHSVQgOyDA6MaspMvD1qSrpOyk677KzqzJ1Me9pMqw+r/0pM6/9ApudW0tb2Ytb3B0aW9uYWwtYXJncyAgICAgICAgICAgOj0gRElHSVQgOyDCs6SkpMbD1qSrpOyk677KzqyyxMe9pMqw+r/0pM6/9ApzeW0tZm9yLXZhcmlhYmxlLWxlbmd0aC1hcmdzICAgOj0gIioiICAgOyDCs6SkpMbD1qSrpOyk67LEytHEubD6v/Sk8gogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBSdWJ5pM7H287zpMe86MbApLmk66S/pOGkzrvYxOoKbnVtLW9mLXRyYWlsaW5nLW1hbmRhdG9yeS1hcmdzIDo9IERJR0lUIDsgvarDvKTLw9akq6TspOu+ys6sydTHvaTKsPq/9KTOv/QKc3ltLWZvci1vcHRpb24taGFzaC1hcmcgICAgICAgIDo9ICI6IiAgIDsgpaql16W3peel86XPpcOlt6XlpPK86MbApLmk6wogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyCkv6ThpM672MTqOyC+ys6sydTHvaTKsPq/9KTOCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IL/0pOik6qTiwr+kr6TOsPq/9KSsu9jE6qS1pOyhpAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyC6x7jlpM6w+r/0pKylz6XDpbel5aHKpN6kv6TPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICN0b19oYXNopMfK0bS5ssTHvaHLpM6+7LnnpMsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgvOjGwKS1pOyk66Gluse45aTOsPq/9KSsbmlspM4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgvuy556GkssTK0cS5sPq/9LvYxOqkrKTKpK+hpAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyC+ys6sydTHvbD6v/Skzr/0pOik6qTiwr+kr6TOCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ILD6v/SkrLvYxOqktaTspL++7LnnpMu86MbApLWk7KTrCnN5bS1mb3ItYmxvY2stYXJnICAgICAgICAgICAgICA6PSAiJiIgICA7IKWkpcal7KG8pb+l1qXtpcOlr6TyvOjGwKS5pOukv6ThpM4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgu9jE6gotLQoKICCl1aWpobyl3qXDpcikrCIxMiKkzr7sueehpLD6v/Skz7rHxOMxpMSkx6GkM6TEKDErMimk3qTHtfaktQogIKTspOukyKSkpKaw1cyjpMukyqTqpN6kuaGlvb6kw6TGoaSl1aWpobyl3qXDpcjKuLv6zvOky8KzpKQKICCkxjOkxKTOVkFMVUWk2KTOu7K+yKTyw9akr8mszdekrKSipOqk3qS5oaWkvaTspOmky6TPvOjGwKS3pL8KICDK0b/0pKylu6XDpciktaTspN6kuaGlytG/9KTYpM67sr7IpM7C5aTvpOqky05VTEyk8rvYxOqkuaTrCiAgpLOkyKTipMekraGkpL2kzr7sueekz7zoxsCkt6S/sPq/9KTOw82kz7zOpMak6aTspN6kuaGlpMqkqqGkCiAgvsrOrLLEx72w+r/0pKy+ys6spLWk7KS/u/6kzsrRv/SkzsPNpM9uaWwoQ7jAuOykzqXspdml66THpM8KICBRbmlsKaTLpMqk6qTepLmhpQoKICDK1qTqw82kz82/pKik6aTspL+w+r/0pM6/9KTHpLmhpaWqpdelt6XnpfOlz6XDpbel5aSqpOik06WkCiAgpcal7KG8pb+l1qXtpcOlr6TPv/SkqKTepLuk86GlCgoqKiBSdWJ5peGlvaXDpcm4xqTTvdCktwoKVkFMVUUgcmJfZnVuY2FsbChWQUxVRSByZWN2LCBJRCBtaWQsIGludCBuYXJnLCAuLi4pCgogIKXhpb2lw6XJuMak073QpLehpcq4u/rO86SrpOltaWSk8sbApOukv6ThpMukz3JiX2ludGVybigppPIKICC7yKSmoaUKClZBTFVFIHJiX2Z1bmNhbGwyKFZBTFVFIHJlY3YsIElEIG1pZCwgaW50IGFyZ2MsIFZBTFVFICphcmd2KQoKICCl4aW9pcOlybjGpNO90KS3oaWw+r/0pPJhcmdjLCBhcmd2t8G8sKTHxc+kuaGlCgpWQUxVRSByYl9ldmFsX3N0cmluZyhjb25zdCBjaGFyICpzdHIpCgogIMq4u/rO86TyUnVieaW5pa+l6qXXpcikyKS3pMals6XzpdGlpKXroaa8wrnUpLmk66GlCgpJRCByYl9pbnRlcm4oY29uc3QgY2hhciAqbmFtZSkKCiAgyri7+s7zpMvC0LH+pLmk60lEpPLK1qS5oaUKCmNoYXIgKnJiX2lkMm5hbWUoSUQgaWQpCgogIElEpMvC0LH+pLmk68q4u/rO86TyytakuSilx6XQpcOlsM3RKaGlCgpjaGFyICpyYl9jbGFzczJuYW1lKFZBTFVFIGtsYXNzKQoKICClr6Xppbmkzsy+wbCk8srWpLkopcel0KXDpbDN0SmhpaWvpemluaSszL7BsKTyu/2kv6TKpKS7/qTLCiAgpM8sIMHEwOik8sHMpMOkxsy+wbCk8rv9pMSlr6Xppbmkzsy+wbCk8srWpLmhpQoKaW50IHJiX3Jlc3BvbmRfdG8oVkFMVUUgb2JqLCBJRCBpZCkKCiAgb2JqpKxpZKTHvKiktaTspOul4aW9pcOlyaTyu/2kxKSrpMmkpqSrpPLK1qS5oaUKCioqIKWkpfOluaW/pfOlucrRv/QKClZBTFVFIHJiX2l2X2dldChWQUxVRSBvYmosIGNvbnN0IGNoYXIgKm5hbWUpCgogIG9iaqTOpaSl86W5pb+l86W5ytG/9KTOw82k8sbApOuhpWBAJ6THu8+k3qTppMqkpKWkpfOluaW/pfMKICClucrRv/SkzyBSdWJ5pdel7aWwpeml4KSrpOmloqWvpbuluaTHpK2kyqSkodaxo6TspL+h16WkpfMKICCluaW/pfOlucrRv/Sky6TKpOuhpcTqv/Skz8Lnyri7+qTOzL7BsKTyu/2kxKWvpemluSik3qS/pM8KICCl4qW4peWhvKXrKaTOpaSl86W5pb+l86W5ytG/9KTIpLekxrzCwfWktaTspMakpKTroaUKClZBTFVFIHJiX2l2X3NldChWQUxVRSBvYmosIGNvbnN0IGNoYXIgKm5hbWUsIFZBTFVFIHZhbCkKCiAgb2JqpM6lpKXzpbmlv6XzpbnK0b/0pPJ2YWyky6W7pcOlyKS5pOuhpQoKKiogwKm45rm9wqQKClZBTFVFIHJiX2Jsb2NrX2NhbGwoVkFMVUUgb2JqLCBJRCBtaWQsIGludCBhcmdjLCBWQUxVRSAqIGFyZ3YsCgkJICAgIFZBTFVFICgqZnVuYykgKEFOWUFSR1MpLCBWQUxVRSBkYXRhMikKCiAgZnVuY6Typdal7aXDpa+kyKS3pMbA38TqpLehpG9iaqTypeylt6G8pdChpGFyZ2OkyGFyZ3ak8rD6v/QKICCkyKS3pMZtaWSl4aW9pcOlyaTyuMak073QpLmhpWZ1bmOkz8LosOyw+r/0pMt5aWVsZKS1pOykv8PNoaQKICDC6MbzsPq/9KTLZGF0YTKk8rz1pLG86KTroaXKo7/0pM7DzaSseWllbGSktaTspL++7LnnKEOkx6TPCiAgcmJfeWllbGRfdmFsdWVzKCmkyHJiX3lpZWxkX3ZhbHVlczIoKSwgcmJfeWllbGRfc3BsYXQoKSmhpAogIGRhdGEypM9BcnJheaTIpLekxqXRpcOlr6S1pOykxqSkpOuhpcLou7AsIMLou82w+r/0pM5hcmdjpMgKICBhcmd2pMuk6KTDpMZ5aWVsZKS1pOykv8PNpPK86KTqvdCkuaSzpMikrKTHpK2k66GlCgpbT0JTT0xFVEVdIFZBTFVFIHJiX2l0ZXJhdGUoVkFMVUUgKCpmdW5jMSkoKSwgVkFMVUUgYXJnMSwgVkFMVUUgKCpmdW5jMikoKSwgVkFMVUUgYXJnMikKCiAgZnVuYzKk8qXWpe2lw6WvpMikt6TGwN/E6qS3LCBmdW5jMaTypaSlxqXsobylv6TIpLekxrjGpNahpSAKICBmdW5jMaTLpM8gYXJnMaSssPq/9KTIpLekxsXPpLWk7CwgZnVuYzKky6TPwugxsPq/9KTLpaSlxqXsobwKICClv6SrpOnNv6SopOmk7KS/w80sIMLoMrD6v/Sky2FyZzKkrMXPpLWk7KTroaUKIAogIDEuOaTHcmJfaXRlcmF0ZaTyu8ikpr7sueekzywgZnVuYzGkzsPmpMdSdWJ5peyl2aXrpM6l4aW9pcOlyQogIKTyuMak073QpLWkyqSxpOyk0KTKpOmkyqSkLgogIDEuOaTHb2Jzb2xldGWkyKTKpMOkvy4gwuWk76TqpMtyYl9ibG9ja19jYWxspKzN0bDVpLWk7KS/LgoKVkFMVUUgcmJfeWllbGQoVkFMVUUgdmFsKQoKICB2YWyk8sPNpMikt6TGpaSlxqXsobylv6XWpe2lw6WvpPK4xqTTvdCkuaGlCgpWQUxVRSByYl9yZXNjdWUoVkFMVUUgKCpmdW5jMSkoKSwgVkFMVUUgYXJnMSwgVkFMVUUgKCpmdW5jMikoKSwgVkFMVUUgYXJnMikKCiAgtNi/9GZ1bmMxpPJhcmcxpPKw+r/0pMu4xqTTvdCkuaGlZnVuYzGkzrzCudTD5qTLzuOzsKSsyK/AuAogIKS3pL+7/qTLpM8gZnVuYzKk8mFyZzKk8rD6v/SkyKS3pMa4xqTWoaXM4aTqw82kz87js7CkrMivwLgKICCkt6TKpKukw6S/u/6kz2Z1bmMxpM7M4aTqw80sIM7js7CkrMivwLikt6S/u/6ky6TPZnVuYzKkzszhCiAgpOrDzaTHpKKk66GlCgpWQUxVRSByYl9lbnN1cmUoVkFMVUUgKCpmdW5jMSkoKSwgVkFMVUUgYXJnMSwgVkFMVUUgKCpmdW5jMikoKSwgVkFMVUUgYXJnMikKCiAgtNi/9GZ1bmMxpPJhcmcxpPKw+r/0pMikt6TGvMK51KS3LCC8wrnUvarOu7jlKKS/pMikqM7js7CkrAogIMivwLikt6TGpOIpIGZ1bmMypPJhcmcypPKw+r/0pMikt6TGvMK51KS5pOuhpczhpOrDzaTPZnVuYzEKICCkzszhpOrDzaTHpKKk6yjO47OwpKzIr8C4pLekv7v+pM/M4aTppMqkpCmhpQoKVkFMVUUgcmJfcHJvdGVjdChWQUxVRSAoKmZ1bmMpIChWQUxVRSksIFZBTFVFIGFyZywgaW50ICpzdGF0ZSkKCiAgtNi/9GZ1bmOk8mFyZ6TysPq/9KTIpLekxrzCudSktywgzuOzsKSsyK/AuKS3pMqksaTspNCkvaTOzOEKICCk6sPNpPLK1qS5oaXO47OwpKzIr8C4pLekv77sueekzywgKnN0YXRlpMvI8zCk8qW7pcOlyKS3pMYKICBRbmlspPLK1qS5oaUKCnZvaWQgcmJfanVtcF90YWcoaW50IHN0YXRlKQoKICByYl9wcm90ZWN0KCmk5HJiX2V2YWxfc3RyaW5nX3Byb3RlY3QoKaTHyuHCqqS1pOykv87js7Ck8rrGCiAgwfekuaTroaVzdGF0ZaTPpL2k7KTppM602L/0pKuk6crWpLWk7KS/w82kx6TKpLGk7KTQpMqk6aTKpKShpQogIKSzpM602L/0pM/EvsDcpM64xqTTvdCkt7i1pMvM4aTppMqkpKGlCgoqKiDO47OwoaalqKXpobwKCnZvaWQgcmJfd2FybmluZyhjb25zdCBjaGFyICpmbXQsIC4uLikKCiAgcmJfdmVyYm9zZbv+pMvJuL3gpail6aG8vdDOz6TLt9m58L7wyvOk8sm9vKikuaTroaWw+r/0pM8KICBwcmludGYoKaTIxrGkuKGlCgp2b2lkIHJiX3JhaXNlKHJiX2VSdW50aW1lRXJyb3IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoKICBSdW50aW1lRXJyb3LO47OwpPLIr8C4pLWku6TroaWw+r/0pM9wcmludGYoKaTIxrGkuKGlCgp2b2lkIHJiX3JhaXNlKFZBTFVFIGV4Y2VwdGlvbiwgY29uc3QgY2hhciAqZm10LCAuLi4pCgogIGV4Y2VwdGlvbqTHu9jE6qS3pL/O47OwpPLIr8C4pLWku6TroaVmbXSwyrK8pM6w+r/0pM8KICBwcmludGYoKaTIxrGkuKGlCgp2b2lkIHJiX2ZhdGFsKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoKICDD18y/xarO47OwpPLIr8C4pLWku6TroaXEzL7vpM7O47OwvejN/aTPudSkyqTvpOykuiwgpaSl86W/obwKICCl16Xqpb+krL2qzrukuaTrKKS/pMCkt2Vuc3VyZaTHu9jE6qS1pOykv6WzobylyaTPvarOu8GwpMsKICC8wrnUpLWk7KTrKaGlCgp2b2lkIHJiX2J1Zyhjb25zdCBjaGFyICpmbXQsIC4uLikKCiAgpaSl86W/obyl16Xqpb+kyqTJpdel7aWwpeml4KTOpdClsKTHpLekq8ivwLikuaTrpM+kuqTOpMqkpAogIL71trekzrv+uMak1qGlpaSl86W/obyl16Xqpb+kz6WzpaKlwKXzpdekt8S+pMGky72qzrukuaTroaUKICDO47OwvejN/aTPsOzA2rnUpMqk76TspMqkpKGlCgoqKiBSdWJ5pM696bT8sr2hprzCudQKClJ1Ynmk8qWipdel6qWxobylt6XnpfOky8vkpOG5/qTgvuy556TLpM+wyrK8pM6lpKXzpb+l1aWnobyluQqk8rvIpKahpcTMvu+kzrPIxKWl6aWkpdal6aXqpMukz8mszdekyqSkoaUKCnZvaWQgcnVieV9pbml0KCkKCiAgUnVieaWkpfOlv6XXpeqlv6TOvem0/LK9pPK51KTKpKahpQoKdm9pZCBydWJ5X29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoKICBSdWJ5paSl86W/pdel6qW/pM6ls6XepfOlyaXppaSl87D6v/Skzr3ozf2k8rnUpMqkpqGlCgp2b2lkIHJ1YnlfcnVuKCkKCiAgUnVieaWkpfOlv6XXpeqlv6TyvMK51KS5pOuhpQoKdm9pZCBydWJ5X3NjcmlwdChjaGFyICpuYW1lKQoKICBSdWJ5pM6luaWvpeql16XIzL4oJDAppPLA38TqpLmk66GlCgoqKiClpKXzpb+l16Xqpb+kzqWkpdml86XIpM6l1aXDpa8KCiB2b2lkIHJiX2FkZF9ldmVudF9ob29rKHJiX2V2ZW50X2hvb2tfZnVuY190IGZ1bmMsIHJiX2V2ZW50X2ZsYWdfdCBldmVudHMsIFZBTFVFIGRhdGEpCgq72MTqpLWk7KS/paSl86W/pdel6qW/pM6lpKXZpfOlyKTLwtCkuaTrpdWlw6WvtNi/9KTyxMmyw6S3pN6kuaGlCmV2ZW50c6TPsMqyvKTOw82kzm9ypMekyqSxpOyk0KTKpOqk3qS7pPM6CgoJUlVCWV9FVkVOVF9MSU5FCglSVUJZX0VWRU5UX0NMQVNTCglSVUJZX0VWRU5UX0VORAoJUlVCWV9FVkVOVF9DQUxMCglSVUJZX0VWRU5UX1JFVFVSTgoJUlVCWV9FVkVOVF9DX0NBTEwKCVJVQllfRVZFTlRfQ19SRVRVUk4KCVJVQllfRVZFTlRfUkFJU0UKCVJVQllfRVZFTlRfQUxMCgpyYl9ldmVudF9ob29rX2Z1bmNfdKTOxOq1waTPsMqyvKTOxMyk6qTHpLk6CgogdHlwZWRlZiB2b2lkICgqcmJfZXZlbnRfaG9va19mdW5jX3QpKHJiX2V2ZW50X3QgZXZlbnQsIFZBTFVFIGRhdGEsCiAJCQkJICAgICAgVkFMVUUgc2VsZiwgSUQgaWQsIFZBTFVFIGtsYXNzKQoKcmJfYWRkX2V2ZW50X2hvb2soKSCkzsLoM7D6v/QgZGF0YSCkz6GkpdWlw6WvtNi/9KTOwugysPq/9KTICqS3pMbFz6S1pOyk3qS5oaWks6TspM8xLjikx6TPuL2636TOTk9ERaTYpM6l3aWkpfOlv6THpLekv6GlsMoKsrykziBSQl9FVkVOVF9IT09LU19IQVZFX0NBTExCQUNLX0RBVEEgpOK7sr7IpLekxqSvpMCktaSkoaUKCiBpbnQgcmJfcmVtb3ZlX2V2ZW50X2hvb2socmJfZXZlbnRfaG9va19mdW5jX3QgZnVuYykKCrvYxOqktaTspL+l1aXDpa+02L/0pPK67738pLek3qS5oaUKCioqILjftLnAraTOpL+k4aTOpd6lr6XtCgpBUEmkzrjftLnAraTypcGlp6XDpa+kuaTrpL+k4aTLsMqyvKTOpd6lr6XtpKylx6XVpaml66XIpMfE6rXBpLWk7KTGpKSk3qS5oaUKCk5PUkVUVVJOX1NUWUxFX05FVwoKICBOT1JFVFVSTiCl3qWvpe2krLTYv/S3v6Xepa+l7aTIpLekxsTqtcGktaTspMakpKTrpLOkyKTysNXMo6S5pOuhpQoKSEFWRV9SQl9ERUZJTkVfQUxMT0NfRlVOQwoKICByYl9kZWZpbmVfYWxsb2NfZnVuYygpILTYv/SkrMTztqGktaTspMakpKTrpLOkyKGkpMSk3qTqCiAgYWxsb2NhdGlvbiBmcmFtZXdvcmsgpKy7yKTvpOyk66SzpMik8rDVzKOkuaTroaUKICBoYXZlX2Z1bmMoInJiX2RlZmluZV9hbGxvY19mdW5jIiwgInJ1YnkuaCIpCiAgpM6367LMpMjGsaS4oaUKCkhBVkVfUkJfUkVHX05FV19TVFIKCiAgU3RyaW5npaql1qW4paelr6XIpKuk6VJlZ2V4cKWqpdaluKWnpa+lyKTyuu6k6wogIHJiX3JlZ19uZXdfc3RyKCkgtNi/9KSsxPO2oaS1pOykxqSkpOuks6TIpPKw1cyjpLmk66GlCiAgaGF2ZV9mdW5jKCJyYl9yZWdfbmV3X3N0ciIsICJydWJ5LmgiKS4KICCkzrfrssykyMaxpLihpQoKSEFWRV9SQl9JT19UCgogIHJiX2lvX3Qgt7+krMTztqGktaTspMakpKTrpLOkyKTysNXMo6S5pOuhpQoKVVNFX1NZTUJPTF9BU19NRVRIT0RfTkFNRQoKICCl4aW9pcOlycy+pPLK1qS5peGlvaXDpcmhpE1vZHVsZSNtZXRob2RzLCAjc2luZ2xldG9uX21ldGhvZHMKICCkyqTJpKxTeW1ib2yk8srWpLmks6TIpPKw1cyjpLmk66GlCgpIQVZFX1JVQllfKl9ICgogIHJ1YnkuaCCkx8TqtcGktaTspMakpKTroaXC0LH+pLmk66XYpcOlwKSsxPO2oaS1pOykxqSkpOuks6TICiAgpPKw1cyjpLmk66GlpL+kyKSopNChpEhBVkVfUlVCWV9TVF9IIKSsxOq1waS1pOykxqSkpOu+7LnnpM8KICDDsaTKpOsgc3QuaCCkx6TPpMqkryBydWJ5L3N0LmggpPK7yM3RpLmk66GlCgpSQl9FVkVOVF9IT09LU19IQVZFX0NBTExCQUNLX0RBVEEKCiAgcmJfYWRkX2V2ZW50X2hvb2soKSCkrKXVpcOlr7TYv/Sky8XPpLkgZGF0YSCk8sLoM7D6v/SkyKS3pMYKICC89aSxvOik66SzpMik8rDVzKOkuaTroaUKCkFwcGVuZGl4IEMuIGV4dGNvbmYucmKkx7vIpKik67TYv/Skv6TBCgpleHRjb25mLnJipM7D5qTHpM/N+M3RssTHvaTKpbOl86XRpaSl677yt++lwaWnpcOlr6TOtNi/9KTPsMoKsrykzsTMpOqkx6SipOuhpQoKaGF2ZV9tYWNybyhtYWNybywgaGVhZGVycykKCiAgpdilw6XApdWloaWkpetoZWFkZXKk8qWkpfOlr6XrobylyaS3pMal3qWvpe1tYWNyb6SsxOq1waS1CiAgpOykxqSkpOukq6TJpKakq6XBpaelw6WvpLmk66Glpd6lr6XtpKzE6rXBpLWk7KTGpKSk67v+dHJ1ZQogIKTyytakuaGlCgpoYXZlX2xpYnJhcnkobGliLCBmdW5jKQoKICC02L/0ZnVuY6TyxOq1waS3pMakpKTrpemlpKXWpeml6mxpYqTOwri636TypcGlp6XDpa+kuaTroaUKICCl6aWkpdal6aXqpKzCuLrfpLmk67v+oaR0cnVlpPLK1qS5oaUKCmZpbmRfbGlicmFyeShsaWIsIGZ1bmMsIHBhdGguLi4pCgogILTYv/RmdW5jpPLE6rXBpLekxqSkpOul6aWkpdal6aXqbGlipM7CuLrfpPIgLUxwYXRoIKTyxMmywwogIKS3pMqkrKTppcGlp6XDpa+kuaTroaWl6aWkpdal6aXqpKy4q8nVpKukw6S/u/6hpHRydWWk8srWpLmhpQoKaGF2ZV9mdW5jKGZ1bmMsIGhlYWRlcikKCiAgpdilw6XApdWloaWkpetoZWFkZXKk8qWkpfOlr6XrobylyaS3pMa02L/0ZnVuY6TOwri636TypcGlpwogIKXDpa+kuaTroaVmdW5jpKzJuL3gpMekz6XqpfOlr6S1pOykyqSkpemlpKXWpeml6sbipM6k4qTOpMcKICCkoqTru/6ky6TPwOiky2hhdmVfbGlicmFyeaTHpL2kzqXppaSl1qXppeqk8qXBpaelw6WvpLekxqSqCiAgpK+79qGltNi/9KSswri636S5pOu7/nRydWWk8srWpLmhpQoKaGF2ZV92YXIodmFyLCBoZWFkZXIpCgogIKXYpcOlwKXVpaGlpKXraGVhZGVypPKlpKXzpa+l66G8pcmkt6TGytG/9HZhcqTOwri636TypcGlp6XDCiAgpa+kuaTroaV2YXKkrMm4veCkx6TPpeql86WvpLWk7KTKpKSl6aWkpdal6aXqxuKkzqTipM6kx6SiCiAgpOu7/qTLpM/A6KTLaGF2ZV9saWJyYXJ5pMekvaTOpemlpKXWpeml6qTypcGlp6XDpa+kt6TGpKqkrwogILv2oaXK0b/0pKzCuLrfpLmk67v+dHJ1ZaTyytakuaGlCgpoYXZlX2hlYWRlcihoZWFkZXIpCgogIKXYpcOlwKXVpaGlpKXrpM7CuLrfpPKlwaWnpcOlr6S5pOuhpaXYpcOlwKXVpaGlpKXrpKzCuLrfpLkKICCk67v+dHJ1ZaTyytakuaGlCgpmaW5kX2hlYWRlcihoZWFkZXIsIHBhdGguLi4pCgogIKXYpcOlwKXVpaGlpKXraGVhZGVypM7CuLrfpPIgLUlwYXRoIKTyxMmyw6S3pMqkrKTppcGlp6XDpa8KICCkuaTroaWl2KXDpcCl1aWhpaSl66SsuKvJ1aSrpMOkv7v+oaR0cnVlpPLK1qS5oaUKCmhhdmVfc3RydWN0X21lbWJlcih0eXBlLCBtZW1iZXIsIGhlYWRlcikKCiAgpdilw6XApdWloaWkpetoZWFkZXKk8qWkpfOlr6XrobylyaS3pMa3v3R5cGWky6XhpfOl0G1lbWJlcgogIKSswri636S5pOukq6TypcGlp6XDpa+kuaTroaV0eXBlpKzE6rXBpLWk7KTGpKSkxqGkbWVtYmVypPIKICC7/aTEpLmk67v+dHJ1ZaTyytakuaGlCgpoYXZlX3R5cGUodHlwZSwgaGVhZGVyLCBvcHQpCgogIKXYpcOlwKXVpaGlpKXraGVhZGVypPKlpKXzpa+l66G8pcmkt6TGt790eXBlpKzCuLrfpLmk66SrpPIKICClwaWnpcOlr6S5pOuhpXR5cGWkrMTqtcGktaTspMakpKTru/50cnVlpPLK1qS5oaUKCmNoZWNrX3NpemVvZih0eXBlLCBoZWFkZXIpCgogIKXYpcOlwKXVpaGlpKXraGVhZGVypPKlpKXzpa+l66G8pcmkt6TGt790eXBlpM5jaGFyw7GwzKW1paQKICCluqTyxLSk2aTroaV0eXBlpKzE6rXBpLWk7KTGpKSk67v+pL2kzqW1paSluqTyytakuaGlxOq1waS1CiAgpOykxqSkpMqkpKTIpK2kz25pbKTyytakuaGlCgpjcmVhdGVfbWFrZWZpbGUodGFyZ2V0KQoKICCzyMSlpemlpKXWpeml6s3RpM5NYWtlZmlsZaTywLjArqS5pOuhpaSzpM602L/0pPK4xqTQpMqksaTsCiAgpNCkvaTOpemlpKXWpeml6qTPpbOl86XRpaSl66S1pOykyqSkoaV0YXJnZXSkz6Xipbil5aG8pevMvgogIKTyyb2kuaGlCgpmaW5kX2V4ZWN1dGFibGUoY29tbWFuZCwgcGF0aCkKCiAgpbOl3qXzpcljb21tYW5kpPJGaWxlOjpQQVRIX1NFUEFSQVRPUqTHtujA2qTppOykv6XRpbnMvqTOCiAgpeqluaXIcGF0aKSrpOnDtaS5oaVwYXRopKxuaWyk3qS/pM++ys6spLWk7KS/vuy556TPoaS0xLatCiAgytG/9FBBVEikzsPNpPK7yM3RpLmk66GlvMK51LLEx72kyqWzpd6l86XJpKy4q6TEpKukw6S/vuy55wogIKTPpdGluaTytN6k4KXVpaGlpKXrzL6hpLirpMSkq6TppMqkq6TDpL++7LnnpM9uaWyk8srWpLmhpQoKd2l0aF9jb25maWcod2l0aHZhbFssIGRlZmF1bHQ9bmlsXSkKCiAgpbOl3qXzpcml6aWkpfO+5aTOLS13aXRoLTx3aXRodmFsPqTHu9jE6qS1pOykv6Wqpdelt6XnpfPDzQogIKTyxsCk66GlCgplbmFibGVfY29uZmlnKGNvbmZpZywgKmRlZmF1bHRzKQpkaXNhYmxlX2NvbmZpZyhjb25maWcsICpkZWZhdWx0cykKCiAgpbOl3qXzpcml6aWkpfO+5aTOLS1lbmFibGUtPGNvbmZpZz6k3qS/pM8KICAtLWRpc2FibGUtPGNvbmZpZz6kx7vYxOqktaTspL+/v7W2w82k8sbApOuhpQogIC0tZW5hYmxlLTxjb25maWc+pKy72MTqpLWk7KTGpKSkv77sueekz3RydWWhpAogIC0tZGlzYWJsZS08Y29uZmlnPqSsu9jE6qS1pOykxqSkpL++7LnnpM9mYWxzZaTyytakuaGlCiAgpMmkwaTppOK72MTqpLWk7KTGpKSkyqSkvuy556TPoaSl1qXtpcOlr6TEpK2kx7jGpNO90KS1pOykxgogIKSkpOu+7LnnpM8qZGVmYXVsdHOk8nlpZWxkpLekv7frssyhpKXWpe2lw6WvpMqkt6TKpOkKICAqZGVmYXVsdHOk8srWpLmhpQoKZGlyX2NvbmZpZyh0YXJnZXRbLCBkZWZhdWx0X2Rpcl0pCmRpcl9jb25maWcodGFyZ2V0WywgZGVmYXVsdF9pbmNsdWRlLCBkZWZhdWx0X2xpYl0pCgogIKWzpd6l86XJpemlpKXzvuWkzi0td2l0aC08dGFyZ2V0Pi1kaXIsIC0td2l0aC08dGFyZ2V0Pi1pbmNsdWRlLAogIC0td2l0aC08dGFyZ2V0Pi1saWKkzqSkpLqk7KSrpMe72MTqpLWk7KTrpcelo6Xspa+lyKXqpPIKICAkQ0ZMQUdTIKTkICRMREZMQUdTIKTLxMmyw6S5pOuhpS0td2l0aC08dGFyZ2V0Pi1kaXI9L3BhdGikzwogIC0td2l0aC08dGFyZ2V0Pi1pbmNsdWRlPS9wYXRoL2luY2x1ZGUgLS13aXRoLTx0YXJnZXQ+LWxpYj0vcGF0aC9saWIKICCkyMX5ssGkx6SipOuhpcTJssOktaTspL8gaW5jbHVkZSClx6Wjpeylr6XIpeqkyCBsaWIgpcelo6XsCiAgpa+lyKXqpM7H287zpPLK1qS5oaUgKFtpbmNsdWRlX2RpciwgbGliX2Rpcl0pCgpwa2dfY29uZmlnKHBrZykKCiAgcGtnLWNvbmZpZ6Wzpd6l86XJpKuk6aXRpcOlsaG8pbhwa2ekzr7wyvOk8sbApOuhpSAKICBwa2ctY29uZmlnpM68wrrdpM6ls6XepfOlycy+pM+hpC0td2l0aC1wa2ctY29uZmlnpbOl3qXzpckKICCl6aWkpfOlqqXXpbel56XzpMe72MTqssTHvaGlCgovKgogKiBMb2NhbCB2YXJpYWJsZXM6CiAqIGZpbGwtY29sdW1uOiA2MAogKiBlbmQ6CiAqLwo=
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 11
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
BSDL
1.25 KB
lrw-r--r--
2010-09-19 02:13:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ChangeLog
608.92 KB
lrw-r--r--
2014-11-13 13:39:32
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
COPYING
2.45 KB
lrw-r--r--
2010-09-19 02:13:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
COPYING.ja
2.03 KB
lrw-r--r--
2010-09-15 15:35:31
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
GPL
17.59 KB
lrw-r--r--
2009-10-02 10:45:39
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LEGAL
22.44 KB
lrw-r--r--
2012-10-26 03:01:41
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
NEWS
9.75 KB
lrw-r--r--
2011-09-15 16:08:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README
4.36 KB
lrw-r--r--
2010-09-19 02:13:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README.EXT
42.69 KB
lrw-r--r--
2011-05-13 09:59:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README.EXT.ja
44.82 KB
lrw-r--r--
2011-05-13 09:59:16
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README.ja
5.47 KB
lrw-r--r--
2010-05-06 03:12:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).