IyMg5LiA44CBanVzdHBhaW50CjEu5YWI5piv5Y6L57yp5YyF5a+G56CB54iG56C077yM5a+G56CB5Li6MTE0NTLvvIznhLblkI7lvIDlp4vku6PnoIHlrqHorqHvvIzlj5HnjrDmmK/kuIDkuKrnur/mgKfnmoTnpZ7nu4/nvZHnu5zjgIIKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3LzE1Yjg1MTdkOTc5ZmRkZWNjZmJiOGE5MGFlNjYxM2Q4XzkxMTIyLnBuZykK5rqQ5Luj56CB5aaC5LiL77yaCmBgYHB5dGhvbgppbXBvcnQgdG9yY2gKaW1wb3J0IHRvcmNoLm5uIGFzIG5uCmltcG9ydCBudW1weSBhcyBucAppbXBvcnQgbWF0cGxvdGxpYi5weXBsb3QgYXMgcGx0CmZyb20gUElMIGltcG9ydCBJbWFnZQppbXBvcnQgY3YyCgoKY2xhc3MgSkJOKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc3VwZXIoSkJOLCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5tYWluID0gbm4uU2VxdWVudGlhbCgKICAgICAgICAgICAgbm4uTGluZWFyKDEwMCwgMjU2KSwKICAgICAgICAgICAgbm4uUmVMVSgpLAogICAgICAgICAgICBubi5MaW5lYXIoMjU2LCA1MTIpLAogICAgICAgICAgICBubi5SZUxVKCksCiAgICAgICAgICAgIG5uLkxpbmVhcig1MTIsIDQ1MiAqIDI4MCksCiAgICAgICAgICAgIG5uLlRhbmgoKQogICAgICAgICkKCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4KToKICAgICAgICBpbWcgPSBzZWxmLm1haW4oeCkKICAgICAgICBpbWcgPSBpbWcudmlldygtMSwgNDUyLCAyODApCiAgICAgICAgcmV0dXJuIGltZwoKCmRlZiB3YXRjaF9mbGFnKGltZyk6CiAgICBmbGFnID0gY3YyLmltcmVhZCgnLi9kYXRhL2RhdGEvZmxhZy5wbmcnKQogICAgZ3JheV9pbWFnZSA9IGN2Mi5jdnRDb2xvcihmbGFnLCBjdjIuQ09MT1JfQkdSMkdSQVkpCiAgICBmbGFnX3RlbnNvciA9IHRvcmNoLmZyb21fbnVtcHkobnAuYXJyYXkoZ3JheV9pbWFnZSkpCiAgICBmbGFnX3RlbnNvciA9IGZsYWdfdGVuc29yLnVuc3F1ZWV6ZSgwKS50cmFuc3Bvc2UoMSwgMikKICAgIGltZ190ZW5zb3IgPSBpbWcKICAgIGZsYWdfdGVuc29yID0gZmxhZ190ZW5zb3IudW5zcXVlZXplKDApCiAgICBpbWdfdGVuc29yID0gaW1nX3RlbnNvci51bnNxdWVlemUoMCkKICAgIGxvc3NfZm4gPSB0b3JjaC5ubi5NU0VMb3NzKCkKICAgIGxvc3MgPSBsb3NzX2ZuKGZsYWdfdGVuc29yLmZsb2F0KCksIGltZ190ZW5zb3IpCiAgICByZXR1cm4gbG9zcwoKCmpibiA9IEpCTigpCmdfb3B0aW1pemVyID0gdG9yY2gub3B0aW0uQWRhbShqYm4ucGFyYW1ldGVycygpLCBscj0wLjAwMSkKbWluX2xvc3MgPSBmbG9hdCgnaW5mJykKCmZvciBlcG9jaCBpbiByYW5nZSgxMCk6CiAgICByYW5kb21fbm9pc2UgPSB0b3JjaC5yYW5kbigxLCAxMDApCiAgICBqYm5faW1nID0gamJuKHJhbmRvbV9ub2lzZSkKICAgIGdfb3B0aW1pemVyLnplcm9fZ3JhZCgpCiAgICBnX2xvc3MgPSB3YXRjaF9mbGFnKGpibl9pbWcpCiAgICBnX2xvc3MuYmFja3dhcmQoKQogICAgZ19vcHRpbWl6ZXIuc3RlcCgpCiAgICB3aXRoIHRvcmNoLm5vX2dyYWQoKToKICAgICAgICBpZiBnX2xvc3MgIDAuODoKICAgICAgICAgICAgcHJpbnQoZnJlcSwgJ0h65pyJ5YC8JykKICAgICAgICAgICAgcmV0dXJuIGluZGV4CgoKZGVmIGRlY19zZW50ZW5jZSh3YXZfZGF0YSk6ICAgICAgICAgICAgICAgICAgICAgICAgICAj6Kej56CB5pW05Liq5Y+l5a2QCiAgICBfMTAwbXNfY291bnQgPSBsZW4od2F2X2RhdGEpIC8vIFNBTVBMRV9OVU0gICAgICAgICAgCiAgICBwcmludCgn5b6F6Kej56CB6Z+z6aKR5YyF5ZCrJywgXzEwMG1zX2NvdW50IC8vIDIsICfkuKrlrZcnKSAgICAKCiAgICByZXQgPSAnJwogICAgZm9yIGkgaW4gcmFuZ2UoMCwgXzEwMG1zX2NvdW50LCAyKTogICAgICAgICAgICAgICAgCiAgICAgICAgaW5kZXggPSAwCiAgICAgICAgZm9yIGsgaW4gcmFuZ2UoMik6CiAgICAgICAgICAgIGluZGV4ID0gaW5kZXgqMTAgKyBkZWNfMTAwbXMod2F2X2RhdGFbaSpTQU1QTEVfTlVNICsgaypTQU1QTEVfTlVNIDogaSpTQU1QTEVfTlVNICsgKGsrMSkqU0FNUExFX05VTV0pCiAgICAgICAgCiAgICAgICAgcHJpbnQoJ+W6j+WPt++8micsIGluZGV4KQogICAgICAgIHJldCArPSBzdHJpbmdbaW5kZXhdCgogICAgcmV0dXJuIHJldAoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKCiAgICB3aXRoIG9wZW4oJ2hhaGEudHh0JywgJ3InLCBlbmNvZGluZz0ndXRmOCcpIGFzIGY6CiAgICAgICAgc3RyaW5nID0gIGYucmVhZCgpCgogICAgd2l0aCB3YXZlLm9wZW4oJ+WYmC53YXYnLCAncmInKSBhcyBmOiAgICAgICAgICAj6K+75Y+W5Li65pWw57uECiAgICAgICAgd2F2X2RhdGEgPSBucC5mcm9tYnVmZmVyKGYucmVhZGZyYW1lcygtMSksIGR0eXBlPW5wLmludDE2KQoKICAgIHByaW50KGRlY19zZW50ZW5jZSh3YXZfZGF0YSkpCmBgYArov5DooYzohJrmnKzlkI7ojrflvpdmbGFnCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy9iMDQ4NmNiZThiODYxNGYzMmQ2ZjczOTMyNGQ1YTNkOF84NzIxMS5wbmcpCgojIyDkupTjgIFucHMgaGFja2VyCuavlOi+g+m4oeiCi+eahOS4gOS4qm5wc+aOp+WItuWPsOeahFhTU+a8j+a0nu+8jOS4jei/h+ivtOS4jeWumuWcqOiTnemYn+a6r+a6kOWPjeWItueahOaXtuWAmeeUqOW+l+S4iuOAggrpopjnm67ov5nph4zkuLrkuobpg6jnvbLmlrnkvr/vvIzmiopgYnJpZGdlX3BvcnRg5ZKMYHdlYl9wb3J0YOiuvuS4uuS6huWQjOS4gOS4querr+WPo++8jOS4jei/h+WcqOaUu+WHu+i/h+eoi+S4re+8jOWFtuWunuS5n+S4jeS4gOWumumcgOimgeiuv+mXrmB3ZWJfcG9ydGDjgIIK5ryP5rSe5oiQ5Zug5pivYGJvb3RzdHJhcFRhYmxlYOW5tuacqumFjee9rmBlc2NhcGVg5a2X5q6177yM5YaN5Yqg5LiKbnBz55qE55So5oi36buY6K6k6YWN572u5paH5Lu244CCCuS+i+WmgumhtemdouaooeadvyBgd2ViL3ZpZXdzL2NsaWVudC9saXN0Lmh0bWw6NDJgIOS4reW5tuacqumFjee9riBgZXNjYXBlOiB0cnVlYAohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTQxMjcvOGZlMmE1NmY0ODJhNDhmMjYxOWQwN2ZiZjJlODg1NjVfNDAzMzkucG5nKQpgY29uZlxucHMuY29uZmAg6YWN572u5paH5Lu26buY6K6k6YWN572u5pyJYHB1YmxpY192a2V5PTEyM2DvvIzkvb/nlKjor6VrZXnkuZ/lj6/ku6Xkvb/nlKhucGPov57mjqXoh7NucHMKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3L2E0MmI1YWRlYWQ4MmM1ODYwNWY3NTRmMTJmOGY2ZDYyXzczMzAwLnBuZykK5pS75Ye76ICF5L2/55SoYHB1YmxpY192a2V5YOS9nOS4uuWuouaIt+err+i/nuaOpeiHs25wc++8jOW5tuWPr+mFjee9rueUqOaIt+WQjeOAgeWvhueggeOAgeWkh+azqOetieS/oeaBr++8jHdlYuaOp+WItuWPsOeahGBib290c3RyYXBUYWJsZWDlubbmnKrovazkuYnov5nkupvlrZfnrKbvvIzmnIDnu4jlvaLmiJBgWFNTYOa8j+a0ngrphY3nva5gbnBjLmNvbmZg77yM6L+Z6YeM57uP6L+H566A5Y2V5a6h6K6h77yM5Y+R546wYHJlbWFya2DplK7lkI7lrZjlnKhgPWDlsIbooqvmiKrmlq3vvIznroDljZXnu5Xov4cKYGBgCltjb21tb25dCnNlcnZlcl9hZGRyPTEyNy4wLjAuMTo4MDI0CmNvbm5fdHlwZT10Y3AKdmtleT0xMjMKcmVtYXJrPTwvYT5kb2N1bWVudC53cml0ZWBcdTAwM0NcdTAwNjhcdTAwNzRcdTAwNkRcdTAwNkNcdTAwM0VcdTAwM0NcdTAwNjhcdTAwNjVcdTAwNjFcdTAwNjRcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjhcdTAwNjVcdTAwNjFcdTAwNjRcdTAwM0VcdTAwM0NcdTAwNjJcdTAwNkZcdTAwNjRcdTAwNzlcdTAwM0VcdTAwM0NcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwMjBcdTAwNjNcdTAwNkNcdTAwNjFcdTAwNzNcdTAwNzNcdTAwM0RcdTAwMjJcdTAwNkRcdTAwMkRcdTAwNzRcdTAwMjJcdTAwMjBcdTAwNkZcdTAwNkVcdTAwNzNcdTAwNzVcdTAwNjJcdTAwNkRcdTAwNjlcdTAwNzRcdTAwM0RcdTAwMjJcdTAwNzJcdTAwNjVcdTAwNzRcdTAwNzVcdTAwNzJcdTAwNkVcdTAwMjBcdTAwNjZcdTAwNjFcdTAwNkNcdTAwNzNcdTAwNjVcdTAwMjJcdTAwM0VcdTAwM0NcdTAwNjRcdTAwNjlcdTAwNzZcdTAwMjBcdTAwNjNcdTAwNkNcdTAwNjFcdTAwNzNcdTAwNzNcdTAwM0RcdTAwMjJcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwMkRcdTAwNjdcdTAwNzJcdTAwNkZcdTAwNzVcdTAwNzBcdTAwMjJcdTAwM0VcdTAwM0NcdTAwNjlcdTAwNkVcdTAwNzBcdTAwNzVcdTAwNzRcdTAwMjBcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwM0RcdTAwMjJcdTAwNzVcdTAwNzNcdTAwNjVcdTAwNzJcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwMjJcdTAwMjBcdTAwNjlcdTAwNjRcdTAwM0RcdTAwMjJcdTAwNzVcdTAwNzNcdTAwNjVcdTAwNzJcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwMjJcdTAwMjBcdTAwNjNcdTAwNkNcdTAwNjFcdTAwNzNcdTAwNzNcdTAwM0RcdTAwMjJcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwMkRcdTAwNjNcdTAwNkZcdTAwNkVcdTAwNzRcdTAwNzJcdTAwNkZcdTAwNkNcdTAwMjJcdTAwMjBcdTAwNzBcdTAwNkNcdTAwNjFcdTAwNjNcdTAwNjVcdTAwNjhcdTAwNkZcdTAwNkNcdTAwNjRcdTAwNjVcdTAwNzJcdTAwM0RcdTAwMjJcdTAwNTVcdTAwNzNcdTAwNjVcdTAwNzJcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwMjJcdTAwMjBcdTAwNzJcdTAwNjVcdTAwNzFcdTAwNzVcdTAwNjlcdTAwNzJcdTAwNjVcdTAwNjRcdTAwM0RcdTAwMjJcdTAwMjJcdTAwMjBcdTAwNkNcdTAwNjFcdTAwNkVcdTAwNjdcdTAwNzRcdTAwNjFcdTAwNjdcdTAwM0RcdTAwMjJcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMkRcdTAwNzVcdTAwNzNcdTAwNjVcdTAwNzJcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwMjJcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjRcdTAwNjlcdTAwNzZcdTAwM0VcdTAwM0NcdTAwNjRcdTAwNjlcdTAwNzZcdTAwMjBcdTAwNjNcdTAwNkNcdTAwNjFcdTAwNzNcdTAwNzNcdTAwM0RcdTAwMjJcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwMkRcdTAwNjdcdTAwNzJcdTAwNkZcdTAwNzVcdTAwNzBcdTAwMjJcdTAwM0VcdTAwM0NcdTAwNjlcdTAwNkVcdTAwNzBcdTAwNzVcdTAwNzRcdTAwMjBcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwM0RcdTAwMjJcdTAwNzBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjJcdTAwMjBcdTAwNjlcdTAwNjRcdTAwM0RcdTAwMjJcdTAwNzBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjJcdTAwMjBcdTAwNzRcdTAwNzlcdTAwNzBcdTAwNjVcdTAwM0RcdTAwMjJcdTAwNzBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjJcdTAwMjBcdTAwNjNcdTAwNkNcdTAwNjFcdTAwNzNcdTAwNzNcdTAwM0RcdTAwMjJcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwMkRcdTAwNjNcdTAwNkZcdTAwNkVcdTAwNzRcdTAwNzJcdTAwNkZcdTAwNkNcdTAwMjJcdTAwMjBcdTAwNzBcdTAwNkNcdTAwNjFcdTAwNjNcdTAwNjVcdTAwNjhcdTAwNkZcdTAwNkNcdTAwNjRcdTAwNjVcdTAwNzJcdTAwM0RcdTAwMjJcdTAwNTBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjJcdTAwMjBcdTAwNzJcdTAwNjVcdTAwNzFcdTAwNzVcdTAwNjlcdTAwNzJcdTAwNjVcdTAwNjRcdTAwM0RcdTAwMjJcdTAwMjJcdTAwMjBcdTAwNkNcdTAwNjFcdTAwNkVcdTAwNjdcdTAwNzRcdTAwNjFcdTAwNjdcdTAwM0RcdTAwMjJcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMkRcdTAwNzBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjJcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjRcdTAwNjlcdTAwNzZcdTAwM0VcdTAwM0NcdTAwNjJcdTAwNzVcdTAwNzRcdTAwNzRcdTAwNkZcdTAwNkVcdTAwMjBcdTAwNkZcdTAwNkVcdTAwNjNcdTAwNkNcdTAwNjlcdTAwNjNcdTAwNkJcdTAwM0RcdTAwMjJcdTAwNjZcdTAwNjVcdTAwNzRcdTAwNjNcdTAwNjhcdTAwMjhcdTAwMjdcdTAwNjhcdTAwNzRcdTAwNzRcdTAwNzBcdTAwM0FcdTAwMkZcdTAwMkZcdTAwNzhcdTAwNzhcdTAwNzhcdTAwNzhcdTAwNzhcdTAwNzhcdTAwMkZcdTAwMjdcdTAwMkNcdTAwN0JcdTAwNkRcdTAwNjVcdTAwNzRcdTAwNjhcdTAwNkZcdTAwNjRcdTAwM0FcdTAwMjdcdTAwNTBcdTAwNEZcdTAwNTNcdTAwNTRcdTAwMjdcdTAwMkNcdTAwNjJcdTAwNkZcdTAwNjRcdTAwNzlcdTAwM0FcdTAwMjRcdTAwMjhcdTAwMjdcdTAwMjNcdTAwNzVcdTAwNzNcdTAwNjVcdTAwNzJcdTAwNkVcdTAwNjFcdTAwNkRcdTAwNjVcdTAwMjdcdTAwMjlcdTAwNUJcdTAwMzBcdTAwNURcdTAwMkVcdTAwNzZcdTAwNjFcdTAwNkNcdTAwNzVcdTAwNjVcdTAwMkJcdTAwMjdcdTAwNUZcdTAwNUZcdTAwNUZcdTAwMjdcdTAwMkJcdTAwMjRcdTAwMjhcdTAwMjdcdTAwMjNcdTAwNzBcdTAwNjFcdTAwNzNcdTAwNzNcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMjdcdTAwMjlcdTAwNUJcdTAwMzBcdTAwNURcdTAwMkVcdTAwNzZcdTAwNjFcdTAwNkNcdTAwNzVcdTAwNjVcdTAwN0RcdTAwMjlcdTAwM0JcdTAwMjJcdTAwMjBcdTAwNkNcdTAwNjFcdTAwNkVcdTAwNjdcdTAwNzRcdTAwNjFcdTAwNjdcdTAwM0RcdTAwMjJcdTAwNzdcdTAwNkZcdTAwNzJcdTAwNjRcdTAwMkRcdTAwNkNcdTAwNkZcdTAwNjdcdTAwNjlcdTAwNkVcdTAwMjJcdTAwM0VcdTAwNENcdTAwNkZcdTAwNjdcdTAwNjlcdTAwNkVcdTAwM0NcdTAwMkZcdTAwNjJcdTAwNzVcdTAwNzRcdTAwNzRcdTAwNkZcdTAwNkVcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjZcdTAwNkZcdTAwNzJcdTAwNkRcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjJcdTAwNkZcdTAwNjRcdTAwNzlcdTAwM0VcdTAwM0NcdTAwMkZcdTAwNjhcdTAwNzRcdTAwNkRcdTAwNkNcdTAwM0VgCmBgYArov5nph4zmoLnmja7popjnm67nmoTor63ms5XphY3nva7kuIDkuKrnmbvlvZXmoYbvvIzlgZrnmbvlvZXliqvmjIEKYGBgaHRtbAoKICAgIAogICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgTG9naW4KICAgICAgICAKICAgIAoKYGBgCuS9v+eUqOWmguS4i+WRveS7pOi/nuaOpQpgYGAKbnBjIC1jb25maWcgbnBjLmNvbmYKYGBgCueojeetieS4gOauteaXtumXtOWNs+WPr+aUtuWIsAohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTQxMjcvZGI2MWIxN2M2NmJmZGViNDdkMGNiYmNhMzljNjYxYTBfNjg2NTEucG5nKQoKIyMg5YWt44CBYnlwYXNzSmF2YQrpopjnm67nu5nkuoZqYXLljIUK5a6h6K6h5Luj56CB5Y+R546wIGAvcmVhZGAg6Lev55Sx5a2Y5Zyo5Y+N5bqP5YiX5YyW5o6l5Y+j77yM5LiU6aKY55uu5a2Y5ZyoIGphY2tzb24g5L6d6LWW77yM5Y+v5Lul5omTamFja3NvbiDnmoTlj43luo/liJfljJbpk77lrZDmnaXmiafooYzku7vmhI/ku6PnoIHjgIIK5L2G5rOo5oSP5YiwZmlsdGVy6L+b6KGM5LqG6ZmQ5Yi2CiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy8xOWFkZmM5NWEyYWJkZjE3ZGE1ODcxNzdlM2E1ZmVkYV80NTE2MC5wbmcpCui/memHjOmAmui/hyBgc2VydmxldFJlcXVlc3QuZ2V0Q29udGVudExlbmd0aCgpYCDliLDnmoTlgLzkuI3og73lpKfkuo4gMTE0Ne+8jOWQpuWImeaXoOazlei/m+WFpeWIsOWPjeW6j+WIl+WMlueahOi3r+eUse+8jOiAjOaehOmAoOmVv+W6puWwj+S6jiAxMTQ1IOeahHBheWxvYWTlh6DkuY7mmK/kuI3lj6/og73nmoTkuovvvIzmiYDku6Xlvpflj6blpJbmib7kuKrmlrnms5Xnu5Xov4fjgIIKIyMjIyBjaHVua2VkIOe8lueggee7lei/h2dldENvbnRlbnRMZW5ndGgK6YCa6L+H6LCD6K+V77yM6L+95rqv6LCD55So5qCI77yM5rex5YWl5rqQ56CB55yL55yL6L+Z5LiqY29udGVudExlbmd0aOaYr+aAjuS5iOadpeeahO+8jOWcqCBgb3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb2Nlc3NvciNwcmVwYXJlSW5wdXRGaWx0ZXJzYOaWueazleS4reWPr+S7peWPkeeOsO+8jOW9k+ivt+axguWktOS4reWHuueOsCBgdHJhbnNmZXItZW5jb2Rpbmc6IGNodW5rZWRgIOaXtu+8jGNvbnRlbnRMZW5ndGjnmoTlgLzkvJrooqvorr7nva7kuLogLTFMCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy8wZmVlNzBmM2M4NzA4N2QwMjA1YWM3ZjYwYjMyNzYzY181OTk4Mi5wbmcpCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy8wZDhkZWE2ZDQyMzllMDUzODhlNzcyZjFlYTAwNzkwOV85NTMxNy5wbmcpCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy9jMTRhZTU1Y2YzMTM3MmE0MTU3OTg0MjdhOTdjN2JiMF85MTQ0NS5wbmcpCuaJgOS7peS9v+eUqCBgY2h1bmtlZGAg57yW56CB5p2l57uV6L+HIGBnZXRDb250ZW50TGVuZ3RoKClgIOeahOmZkOWItuOAggohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTQxMjcvYTk2YjFiZTc4MmQwY2I5MzQ1MTVlZWRhOTQzZDMyNmRfNTY0NTEucG5nKQrmiJDlip/op6blj5Hlj43luo/liJfljJbvvIjms6jmhI9jaHVua2Vk57yW56CB5oql5paH5qC85byP77yJCiMjIyMg57uV6L+HUkFTUArlj6/ku6Xlj43luo/liJfljJbmiafooYzku7vmhI/ku6PnoIHvvIzlsJ3or5XmiZPlhoXlrZjpqazmiafooYzlkb3ku6TvvIzkvYblj5HnjrDlrZjlnKhSQVNQ77yMaG9va+S6huW6leWxguaJp+ihjOWRveS7pOeahG5hdGl2ZeaWueazlSBgZm9ya0FuZEV4ZWNgCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy9lZGU2YjM2MjA0ZWY0ZjJlYWVjYmM5NjZlOWQwZWRkN18yMDMzMS5wbmcpCuWQjOaXtuWPkeeOsOadg+mZkOS4jeaYr3Jvb3TvvIzmsqHms5Xnm7TmjqXor7tmbGFn77yM6KaBUkNF5omN6KGM77yM5Yip55SoamF2YeS7o+eggeivu+WPluaWh+S7tuebruW9lee7k+aehO+8jOWPkeeOsC9ob21lL2N0Zi/mnInkuKpzaW1wbGVSQVNQLmphcueahOaWh+S7tu+8jOWGmWphdmHku6PnoIHor7vlj5bor6Xmlofku7blrqHorqEK5Y+R546w5LiN5LuFaG9va+S6hmBmb3JrQW5kRXhlY2DvvIzov5hob29r5LqGIGBsb2FkTGlicmFyeTBgCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy81ZjllYWU3NTNiNDUyMGY4OWIwY2I4OGM4MmI4NzJmY184NjA0NS5wbmcpCui/meS4i+S5n+ayoeazleebtOaOpeS9v+eUqOW4uOinhOeahCBgU3lzdGVtLmxvYWQoKWAg5p2l55u05o6l5Yqg6L29IEpOSeadpee7lei/h+OAggrkvYbmt7HlhaXmupDnoIHkuI3pmr7lj5HnjrDlhbblupXlsYLnmoRuYXRpdmXmlrnms5UgYGphdmEubGFuZy5DbGFzc0xvYWRlci5OYXRpdmVMaWJyYXJ5I2xvYWRgIOW5tuacquiiq2hvb2vvvIzlubbkuJTlj43lsITkuZ/mmK/lj6/ku6XmraPluLjkvb/nlKjnmoTvvIzmiYDku6Xlj6/ku6XlsJ3or5Xkvb/nlKjlj43lsITmnaXosIPnlKggYGphdmEubGFuZy5DbGFzc0xvYWRlci5OYXRpdmVMaWJyYXJ5YCDkuK3nmoQgYGxvYWRgIOaWueazleadpeWKoOi9veaBtuaEj3Nv5paH5Lu25omn6KGM5ZG95LukCmBgYGphdmEKLy/osIPnlKhqYXZhLmxhbmcuQ2xhc3NMb2FkZXIkTmF0aXZlTGlicmFyeeexu+eahGxvYWTmlrnms5XliqDovb3liqjmgIHpk77mjqXlupMKLi4uLi4uCnB1YmxpYyBjbGFzcyBFdmlsQ2xhc3MgIHsKICAgIHB1YmxpYyBzdGF0aWMgbmF0aXZlIFN0cmluZyBleGVjQ21kKFN0cmluZyBjbWQpOwoKfQouLi4uLi4KQ2xhc3NMb2FkZXIgY21kTG9hZGVyID0gRXZpbENsYXNzLmNsYXNzLmdldENsYXNzTG9hZGVyKCk7CkNsYXNzPD8+IGNsYXNzTG9hZGVyQ2xhenogPSBDbGFzcy5mb3JOYW1lKCJqYXZhLmxhbmcuQ2xhc3NMb2FkZXIiKTsKQ2xhc3M8Pz4gbmF0aXZlTGlicmFyeUNsYXp6ID0gQ2xhc3MuZm9yTmFtZSgiamF2YS5sYW5nLkNsYXNzTG9hZGVyJE5hdGl2ZUxpYnJhcnkiKTsKTWV0aG9kIGxvYWQgPSBuYXRpdmVMaWJyYXJ5Q2xhenouZ2V0RGVjbGFyZWRNZXRob2QoImxvYWQiLCBTdHJpbmcuY2xhc3MsIGJvb2xlYW4uY2xhc3MpOwpsb2FkLnNldEFjY2Vzc2libGUodHJ1ZSk7CkZpZWxkIGZpZWxkID0gY2xhc3NMb2FkZXJDbGF6ei5nZXREZWNsYXJlZEZpZWxkKCJuYXRpdmVMaWJyYXJpZXMiKTsKZmllbGQuc2V0QWNjZXNzaWJsZSh0cnVlKTsKVmVjdG9yIGxpYnMgPSAoVmVjdG9yKSBmaWVsZC5nZXQoY21kTG9hZGVyKTsKQ29uc3RydWN0b3I8Pz4gbmF0aXZlTGlicmFyeUNvbnMgPSBuYXRpdmVMaWJyYXJ5Q2xhenouZ2V0RGVjbGFyZWRDb25zdHJ1Y3RvcihDbGFzcy5jbGFzcywgU3RyaW5nLmNsYXNzLCBib29sZWFuLmNsYXNzKTsKbmF0aXZlTGlicmFyeUNvbnMuc2V0QWNjZXNzaWJsZSh0cnVlKTsKT2JqZWN0IG5hdGl2ZUxpYnJhcnlPYmogPSBuYXRpdmVMaWJyYXJ5Q29ucy5uZXdJbnN0YW5jZShFdmlsQ2xhc3MuY2xhc3MsIExJQl9QQVRILCBmYWxzZSk7CmxpYnMuYWRkRWxlbWVudChuYXRpdmVMaWJyYXJ5T2JqKTsKLy/ov5nph4zms6jmhI/opoHlsIZsaWJz5pS+5YWl5a+55bqU55qEQ2xhc3NMb2FkZXLkuK0o6Lef552A5rqQ56CB6LCD5LiL5bCx6IO955+l6YGTKQpmaWVsZC5zZXQoY21kTG9hZGVyLCBsaWJzKTsKbG9hZC5pbnZva2UobmF0aXZlTGlicmFyeU9iaiwgTElCX1BBVEgsIGZhbHNlKTsKLy/miafooYzlkb3ku6QKRXZpbENsYXNzLmV4ZWNDbWQoIndob2FtaSIpOwouLi4uLi4KLi4uLi4uCmBgYArliLbkvZxKTkkK5YeG5aSHIEV2aWxDbGFzcy5qYXZhCmBgYGphdmEKcHVibGljIGNsYXNzIEV2aWxDbGFzcyAgewogICAgcHVibGljIHN0YXRpYyBuYXRpdmUgU3RyaW5nIGV4ZWNDbWQoU3RyaW5nIGNtZCk7Cn0KYGBgCuWcqOW9k+WJjeebruW9lei/kOihjApgYGBqYXZhCmphdmFjIEV2aWxDbGFzcy5qYXZhCmphdmFoIEV2aWxDbGFzcwpgYGAK55Sf5oiQIEV2aWxDbGFzcy5oIOaWh+S7tuWmguS4iwpgYGBjCi8qIERPIE5PVCBFRElUIFRISVMgRklMRSAtIGl0IGlzIG1hY2hpbmUgZ2VuZXJhdGVkICovCiNpbmNsdWRlIAovKiBIZWFkZXIgZm9yIGNsYXNzIEV2aWxDbGFzcyAqLwoKI2lmbmRlZiBfSW5jbHVkZWRfRXZpbENsYXNzCiNkZWZpbmUgX0luY2x1ZGVkX0V2aWxDbGFzcwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIiB7CiNlbmRpZgovKgogKiBDbGFzczogICAgIEV2aWxDbGFzcwogKiBNZXRob2Q6ICAgIGV4ZWNDbWQKICogU2lnbmF0dXJlOiAoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwogKi8KSk5JRVhQT1JUIGpzdHJpbmcgSk5JQ0FMTCBKYXZhX0V2aWxDbGFzc19leGVjQ21kCiAgKEpOSUVudiAqLCBqY2xhc3MsIGpzdHJpbmcpOwoKI2lmZGVmIF9fY3BsdXNwbHVzCn0KI2VuZGlmCiNlbmRpZgpgYGAK5qC55o2uRXZpbENsYXNzLmjmlofku7bnvJblhplFdmlsQ2xhc3MuY+aWh+S7tgpFdmlsQ2xhc3MuYwpgYGBjCiNpbmNsdWRlIAojaW5jbHVkZSAKI2luY2x1ZGUgCiNpbmNsdWRlIAojaW5jbHVkZSAKI2luY2x1ZGUgIkV2aWxDbGFzcy5oIgoKaW50IGV4ZWNtZChjb25zdCBjaGFyICpjbWQsIGNoYXIgKnJlc3VsdCkKewogICAgY2hhciBidWZmZXJbMTAyNCoxMl07ICAgICAgICAgICAgICAvL+WumuS5iee8k+WGsuWMugogICAgRklMRSAqcGlwZSA9IHBvcGVuKGNtZCwgInIiKTsgLy/miZPlvIDnrqHpgZPvvIzlubbmiafooYzlkb3ku6QKICAgIGlmICghcGlwZSkKICAgICAgICByZXR1cm4gMDsgLy/ov5Tlm54w6KGo56S66L+Q6KGM5aSx6LSlCgogICAgd2hpbGUgKCFmZW9mKHBpcGUpKQogICAgewogICAgICAgIGlmIChmZ2V0cyhidWZmZXIsIDEyOCwgcGlwZSkpCiAgICAgICAgeyAvL+WwhueuoemBk+i+k+WHuuWIsHJlc3VsdOS4rQogICAgICAgICAgICBzdHJjYXQocmVzdWx0LCBidWZmZXIpOwogICAgICAgIH0KICAgIH0KICAgIHBjbG9zZShwaXBlKTsgLy/lhbPpl63nrqHpgZMKICAgIHJldHVybiAxOyAgICAgIC8v6L+U5ZueMeihqOekuui/kOihjOaIkOWKnwp9CkpOSUVYUE9SVCBqc3RyaW5nIEpOSUNBTEwgSmF2YV9FdmlsQ2xhc3NfZXhlY0NtZChKTklFbnYgKmVudiwgamNsYXNzIGNsYXNzX29iamVjdCwganN0cmluZyBqc3RyKQp7CgogICAgY29uc3QgY2hhciAqY3N0ciA9ICgqZW52KS0mZ3Q7R2V0U3RyaW5nVVRGQ2hhcnMoZW52LCBqc3RyLCBOVUxMKTsKICAgIGNoYXIgcmVzdWx0WzEwMjQgKiAxMl0gPSAiIjsgLy/lrprkuYnlrZjmlL7nu5PmnpznmoTlrZfnrKbkuLLmlbDnu4QKICAgIGlmICgxID09IGV4ZWNtZChjc3RyLCByZXN1bHQpKQogICAgewogICAgICAgLy8gcHJpbnRmKHJlc3VsdCk7CiAgICB9CgogICAgY2hhciByZXR1cm5fbWVzc2dlWzEwMF0gPSAiIjsKICAgIHN0cmNhdChyZXR1cm5fbWVzc2dlLCByZXN1bHQpOwogICAganN0cmluZyBjbWRyZXN1bHQgPSAoKmVudiktJmd0O05ld1N0cmluZ1VURihlbnYsIHJldHVybl9tZXNzZ2UpOwogICAgLy9zeXN0ZW0oKTsKCiAgICByZXR1cm4gY21kcmVzdWx0Owp9CmBgYArnvJbor5HnlJ/miJDlr7nlupTliqjmgIHpk77mjqXlupPmlofku7YKYGBgCmdjYyAtZlBJQyAtSSAkSkFWQV9IT01FL2luY2x1ZGUgIC1JICRKQVZBX0hPTUUvaW5jbHVkZS9saW51eCAtc2hhcmVkIC1vIGxpYmNtZC5zbyBFdmlsQ2xhc3MuYwpgYGAKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3L2Y0Y2RhYjg2NzAzYThmZmMzYWU3M2E3Zjc4NTEzMTFmXzEwODEyLnBuZykK5bCG6K+lc2/mlofku7ZiYXNlNjTnvJbnoIHmlL7liLBqYXZh5Luj56CB5Lit5pa55L6/5Yqg6L2944CCCuWIqeeUqCBUZW1wbGF0ZUltcGwg5p2l5omn6KGMamF2YeS7o+egge+8jOi/memHjOWSjOWGheWtmOmprOebtOaOpeWwseaUvuS4gOi1t+S6hu+8jOaWueS+v+S4gOS6mwpgYGBqYXZhCmltcG9ydCBjb20uc3VuLm9yZy5hcGFjaGUueGFsYW4uaW50ZXJuYWwueHNsdGMuRE9NOwppbXBvcnQgY29tLnN1bi5vcmcuYXBhY2hlLnhhbGFuLmludGVybmFsLnhzbHRjLlRyYW5zbGV0RXhjZXB0aW9uOwppbXBvcnQgY29tLnN1bi5vcmcuYXBhY2hlLnhhbGFuLmludGVybmFsLnhzbHRjLnJ1bnRpbWUuQWJzdHJhY3RUcmFuc2xldDsKaW1wb3J0IGNvbS5zdW4ub3JnLmFwYWNoZS54bWwuaW50ZXJuYWwuZHRtLkRUTUF4aXNJdGVyYXRvcjsKaW1wb3J0IGNvbS5zdW4ub3JnLmFwYWNoZS54bWwuaW50ZXJuYWwuc2VyaWFsaXplci5TZXJpYWxpemF0aW9uSGFuZGxlcjsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmNvbnRleHQuV2ViQXBwbGljYXRpb25Db250ZXh0OwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuY29udGV4dC5yZXF1ZXN0LlJlcXVlc3RDb250ZXh0SG9sZGVyOwppbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay53ZWIuc2VydmxldC5tdmMubWV0aG9kLlJlcXVlc3RNYXBwaW5nSW5mbzsKaW1wb3J0IG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLnNlcnZsZXQubXZjLm1ldGhvZC5hbm5vdGF0aW9uLlJlcXVlc3RNYXBwaW5nSGFuZGxlck1hcHBpbmc7CmltcG9ydCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0OwppbXBvcnQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0UmVzcG9uc2U7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5SYW5kb21BY2Nlc3NGaWxlOwppbXBvcnQgamF2YS5sYW5nLnJlZmxlY3QuQ29uc3RydWN0b3I7CmltcG9ydCBqYXZhLmxhbmcucmVmbGVjdC5GaWVsZDsKaW1wb3J0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZDsKaW1wb3J0IGphdmEudXRpbC5CYXNlNjQ7CmltcG9ydCBqYXZhLnV0aWwuVmVjdG9yOwoKcHVibGljIGNsYXNzIEV2aWxDbGFzcyBleHRlbmRzIEFic3RyYWN0VHJhbnNsZXQgewoKICAgIHB1YmxpYyBzdGF0aWMgbmF0aXZlIFN0cmluZyBleGVjQ21kKFN0cmluZyBjbWQpOwogICAgLy/mgbbmhI/liqjmgIHpk77mjqXlupPmlofku7bnmoRiYXNlNjTnvJbnoIEKICAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBFVklMX0pOSV9CQVNFNjQgPSAiZjBWTVJnSUJBUUFBQUFBQUFBQUFBQU1BUGdBQkFBQUFzQkFBQUFBQUFBQkFBQUFBQUFBQUFLZzRBQUFBQUFBQUFBQUFBRUFBT0FBSkFFQUFIQUFiQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBQUFBQUFCZ0FBQUFBQUFBQVFBQUFBQUFBQUFRQUFBQVVBQUFBQUVBQUFBQUFBQUFBUUFBQUFBQUFBQUJBQUFBQUFBQUI1QXdBQUFBQUFBSGtEQUFBQUFBQUFBQkFBQUFBQUFBQUJBQUFBQkFBQUFBQWdBQUFBQUFBQUFDQUFBQUFBQUFBQUlBQUFBQUFBQU13QUFBQUFBQUFBekFBQUFBQUFBQUFBRUFBQUFBQUFBQUVBQUFBR0FBQUFFQzRBQUFBQUFBQVFQZ0FBQUFBQUFCQStBQUFBQUFBQVNBSUFBQUFBQUFCUUFnQUFBQUFBQUFBUUFBQUFBQUFBQWdBQUFBWUFBQUFnTGdBQUFBQUFBQ0ErQUFBQUFBQUFJRDRBQUFBQUFBREFBUUFBQUFBQUFNQUJBQUFBQUFBQUNBQUFBQUFBQUFBRUFBQUFCQUFBQURnQ0FBQUFBQUFBT0FJQUFBQUFBQUE0QWdBQUFBQUFBQ1FBQUFBQUFBQUFKQUFBQUFBQUFBQUVBQUFBQUFBQUFGRGxkR1FFQUFBQUJDQUFBQUFBQUFBRUlBQUFBQUFBQUFRZ0FBQUFBQUFBTEFBQUFBQUFBQUFzQUFBQUFBQUFBQVFBQUFBQUFBQUFVZVYwWkFZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUJTNVhSa0JBQUFBQkF1QUFBQUFBQUFFRDRBQUFBQUFBQVFQZ0FBQUFBQUFQQUJBQUFBQUFBQThBRUFBQUFBQUFBQkFBQUFBQUFBQUFRQUFBQVVBQUFBQXdBQUFFZE9WUUFvQk9BcVAyQURSK2p0VHpRZkg4cUpXYXlYMmdBQUFBQUNBQUFBQ3dBQUFBRUFBQUFHQUFBQUlBQUFDQkFBQUFRTEFBQUFEQUFBQUdXUkxoS2JuaXo4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWRBQUFBQklBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBa2dBQUFCSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFZZ0FBQUJJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWJ3QUFBQklBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFYQUFBQUJJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWFBQUFBQklBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTEFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSZ0FBQUNJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWV3QUFBQklBREFEL0VRQUFBQUFBQUc0QkFBQUFBQUFBVlFBQUFCSUFEQUJsRVFBQUFBQUFBSm9BQUFBQUFBQUFBRjlmWjIxdmJsOXpkR0Z5ZEY5ZkFGOUpWRTFmWkdWeVpXZHBjM1JsY2xSTlEyeHZibVZVWVdKc1pRQmZTVlJOWDNKbFoybHpkR1Z5VkUxRGJHOXVaVlJoWW14bEFGOWZZM2hoWDJacGJtRnNhWHBsQUdWNFpXTnRaQUJ3YjNCbGJnQm1aMlYwY3dCemRISmpZWFFBWm1WdlpnQndZMnh2YzJVQVNtRjJZVjlGZG1sc1EyeGhjM05mWlhobFkwTnRaQUJ0WlcxelpYUUFiR2xpWXk1emJ5NDJBRWRNU1VKRFh6SXVNaTQxQUFBQUFBQUFBZ0FDQUFJQUFnQUFBQUlBQWdBQUFBSUFBUUFCQUFBQUFBQUFBQUVBQVFDWkFBQUFFQUFBQUFBQUFBQjFHbWtKQUFBQ0FLTUFBQUFBQUFBQUVENEFBQUFBQUFBSUFBQUFBQUFBQUdBUkFBQUFBQUFBR0Q0QUFBQUFBQUFJQUFBQUFBQUFBQ0FSQUFBQUFBQUFVRUFBQUFBQUFBQUlBQUFBQUFBQUFGQkFBQUFBQUFBQTREOEFBQUFBQUFBR0FBQUFBUUFBQUFBQUFBQUFBQUFBNkQ4QUFBQUFBQUFHQUFBQUJnQUFBQUFBQUFBQUFBQUE4RDhBQUFBQUFBQUdBQUFBQ1FBQUFBQUFBQUFBQUFBQStEOEFBQUFBQUFBR0FBQUFDZ0FBQUFBQUFBQUFBQUFBR0VBQUFBQUFBQUFIQUFBQUFnQUFBQUFBQUFBQUFBQUFJRUFBQUFBQUFBQUhBQUFBQXdBQUFBQUFBQUFBQUFBQUtFQUFBQUFBQUFBSEFBQUFCQUFBQUFBQUFBQUFBQUFBTUVBQUFBQUFBQUFIQUFBQUJRQUFBQUFBQUFBQUFBQUFPRUFBQUFBQUFBQUhBQUFBREFBQUFBQUFBQUFBQUFBQVFFQUFBQUFBQUFBSEFBQUFCd0FBQUFBQUFBQUFBQUFBU0VBQUFBQUFBQUFIQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVpRDdBaElpd1hkTHdBQVNJWEFkQUwvMEVpRHhBakRBQUFBQUFBQUFBQUEvelhpTHdBQS95WGtMd0FBRHg5QUFQOGw0aThBQUdnQUFBQUE2ZUQvLy8vL0pkb3ZBQUJvQVFBQUFPblEvLy8vL3lYU0x3QUFhQUlBQUFEcHdQLy8vLzhseWk4QUFHZ0RBQUFBNmJELy8vLy9KY0l2QUFCb0JBQUFBT21nLy8vLy95VzZMd0FBYUFVQUFBRHBrUC8vLy84bHNpOEFBR2dHQUFBQTZZRC8vLy8vSlZJdkFBQm1rQUFBQUFBQUFBQUFTSTA5b1M4QUFFaU5CWm92QUFCSU9maDBGVWlMQlJZdkFBQkloY0IwQ2YvZ0R4K0FBQUFBQU1NUEg0QUFBQUFBU0kwOWNTOEFBRWlOTldvdkFBQklLZjVJaWZCSXdlNC9TTUg0QTBnQnhralIvblFVU0lzRjVTNEFBRWlGd0hRSS8rQm1EeDlFQUFERER4K0FBQUFBQUlBOU1TOEFBQUIxTDFWSWd6M0dMZ0FBQUVpSjVYUU1TSXM5RWk4QUFPaGQvLy8vNkdqLy8vL0dCUWt2QUFBQlhjTVBINEFBQUFBQXd3OGZnQUFBQUFEcGUvLy8vMVZJaWVWSWdld2dNQUFBU0ltOTZNLy8vMGlKdGVEUC8vOUlpNFhvei8vL1NJMDFkQTRBQUVpSngranMvdi8vU0lsRitFaURmZmdBZFQyNEFBQUFBT3RYU0l0VitFaU5oZkRQLy8rK2dBQUFBRWlKeCtpUy92Ly9TSVhBZEJsSWpaWHd6Ly8vU0l1RjRNLy8vMGlKMWtpSngraTAvdi8vU0l0RitFaUp4K2g0L3YvL2hjQjB1a2lMUmZoSWljZm9PUDcvLzdnQkFBQUF5Y05WU0lubFNJSHNvREFBQUVpSnZYalAvLzlJaWJWd3ovLy9TSW1WYU0vLy8waUxoWGpQLy85SWl3Qk1pNEJJQlFBQVNJdU5hTS8vLzBpTGhYalAvLys2QUFBQUFFaUp6a2lKeDBILzBFaUpSZmhJeDRYd3ovLy9BQUFBQUVqSGhmalAvLzhBQUFBQVNJMkZBTkQvLzdyd0x3QUF2Z0FBQUFCSWljZm93ZjMvLzBpTmxmRFAvLzlJaTBYNFNJbldTSW5INk52OS8vOUl4NFdBei8vL0FBQUFBRWpIaFlqUC8vOEFBQUFBU01lRmtNLy8vd0FBQUFCSXg0V1l6Ly8vQUFBQUFFakhoYURQLy84QUFBQUFTTWVGcU0vLy93QUFBQUJJeDRXd3ovLy9BQUFBQUVqSGhialAvLzhBQUFBQVNNZUZ3TS8vL3dBQUFBQkl4NFhJei8vL0FBQUFBRWpIaGREUC8vOEFBQUFBU01lRjJNLy8vd0FBQUFESGhlRFAvLzhBQUFBQVNJMlY4TS8vLzBpTmhZRFAvLzlJaWRaSWljZm9WUDMvLzBpTGhYalAvLzlJaXdCSWk0ZzRCUUFBU0kyVmdNLy8vMGlMaFhqUC8vOUlpZFpJaWNmLzBVaUpSZkJJaTBYd3ljTUFBQUJJZyt3SVNJUEVDTU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCeUFBQUFBUnNET3lnQUFBQUVBQUFBSFBELy8wUUFBQUNjOFAvL2JBQUFBR0h4Ly8rRUFBQUErL0gvLzZRQUFBQVVBQUFBQUFBQUFBRjZVZ0FCZUJBQkd3d0hDSkFCQUFBa0FBQUFIQUFBQU5Edi8vK0FBQUFBQUE0UVJnNFlTZzhMZHdpQUFEOGFPeW96SkNJQUFBQUFGQUFBQUVRQUFBQW84UC8vQ0FBQUFBQUFBQUFBQUFBQUhBQUFBRndBQUFEVjhQLy9tZ0FBQUFCQkRoQ0dBa01OQmdLVkRBY0lBQUFjQUFBQWZBQUFBRS94Ly85dUFRQUFBRUVPRUlZQ1F3MEdBMmtCREFjSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0VRQUFBQUFBQUNBUkFBQUFBQUFBQVFBQUFBQUFBQUNaQUFBQUFBQUFBQXdBQUFBQUFBQUFBQkFBQUFBQUFBQU5BQUFBQUFBQUFIQVRBQUFBQUFBQUdRQUFBQUFBQUFBUVBnQUFBQUFBQUJzQUFBQUFBQUFBQ0FBQUFBQUFBQUFhQUFBQUFBQUFBQmcrQUFBQUFBQUFIQUFBQUFBQUFBQUlBQUFBQUFBQUFQWCsvMjhBQUFBQVlBSUFBQUFBQUFBRkFBQUFBQUFBQU1BREFBQUFBQUFBQmdBQUFBQUFBQUNJQWdBQUFBQUFBQW9BQUFBQUFBQUFyd0FBQUFBQUFBQUxBQUFBQUFBQUFCZ0FBQUFBQUFBQUF3QUFBQUFBQUFBQVFBQUFBQUFBQUFJQUFBQUFBQUFBcUFBQUFBQUFBQUFVQUFBQUFBQUFBQWNBQUFBQUFBQUFGd0FBQUFBQUFBQllCUUFBQUFBQUFBY0FBQUFBQUFBQXNBUUFBQUFBQUFBSUFBQUFBQUFBQUtnQUFBQUFBQUFBQ1FBQUFBQUFBQUFZQUFBQUFBQUFBUDcvLzI4QUFBQUFrQVFBQUFBQUFBRC8vLzl2QUFBQUFBRUFBQUFBQUFBQThQLy9id0FBQUFCd0JBQUFBQUFBQVBuLy8yOEFBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlENEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTmhBQUFBQUFBQUJHRUFBQUFBQUFBRllRQUFBQUFBQUFaaEFBQUFBQUFBQjJFQUFBQUFBQUFJWVFBQUFBQUFBQWxoQUFBQUFBQUFCUVFBQUFBQUFBQUVkRFF6b2dLRVJsWW1saGJpQXhNQzR5TGpFdE5pa2dNVEF1TWk0eElESXdNakV3TVRFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FCQURnQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUNBR0FDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBREFJZ0NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FFQU1BREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUZBSEFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBR0FKQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FIQUxBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUlBRmdGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBSkFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FLQUNBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUxBS0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBTUFMQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FOQUhBVEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QU9BQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBUEFBUWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FRQURBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QVJBQkErQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBU0FCZytBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FUQUNBK0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QVVBT0EvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBVkFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FXQUZCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QVhBRmhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFCQUR4L3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQUFBQUFnQU1BTEFRQUFBQUFBQUFBQUFBQUFBQUFBQU9BQUFBQWdBTUFPQVFBQUFBQUFBQUFBQUFBQUFBQUFBaEFBQUFBZ0FNQUNBUkFBQUFBQUFBQUFBQUFBQUFBQUEzQUFBQUFRQVhBRmhBQUFBQUFBQUFBUUFBQUFBQUFBQkRBQUFBQVFBU0FCZytBQUFBQUFBQUFBQUFBQUFBQUFCcUFBQUFBZ0FNQUdBUkFBQUFBQUFBQUFBQUFBQUFBQUIyQUFBQUFRQVJBQkErQUFBQUFBQUFBQUFBQUFBQUFBQ1ZBQUFBQkFEeC93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFCQUR4L3dBQUFBQUFBQUFBQUFBQUFBQUFBQUNoQUFBQUFRQVFBTWdnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFEeC93QUFBQUFBQUFBQUFBQUFBQUFBQUFDdkFBQUFBZ0FOQUhBVEFBQUFBQUFBQUFBQUFBQUFBQUMxQUFBQUFRQVdBRkJBQUFBQUFBQUFBQUFBQUFBQUFBRENBQUFBQVFBVEFDQStBQUFBQUFBQUFBQUFBQUFBQUFETEFBQUFBQUFQQUFRZ0FBQUFBQUFBQUFBQUFBQUFBQURlQUFBQUFRQVdBRmhBQUFBQUFBQUFBQUFBQUFBQUFBRHFBQUFBQVFBVkFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBZ0FKQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFHQVFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWlBUUFBRWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMUFRQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJQVFBQUVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmFBUUFBRWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCckFRQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI2QVFBQUVnQU1BR1VSQUFBQUFBQUFtZ0FBQUFBQUFBQ0JBUUFBRWdBTUFQOFJBQUFBQUFBQWJnRUFBQUFBQUFDWUFRQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNxQVFBQUVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQzlBUUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEWEFRQUFJZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTNKMGMzUjFabVl1WXdCa1pYSmxaMmx6ZEdWeVgzUnRYMk5zYjI1bGN3QmZYMlJ2WDJkc2IySmhiRjlrZEc5eWMxOWhkWGdBWTI5dGNHeGxkR1ZrTGpBQVgxOWtiMTluYkc5aVlXeGZaSFJ2Y25OZllYVjRYMlpwYm1sZllYSnlZWGxmWlc1MGNua0FabkpoYldWZlpIVnRiWGtBWDE5bWNtRnRaVjlrZFcxdGVWOXBibWwwWDJGeWNtRjVYMlZ1ZEhKNUFFVjJhV3hEYkdGemN5NWpBRjlmUmxKQlRVVmZSVTVFWDE4QVgyWnBibWtBWDE5a2MyOWZhR0Z1Wkd4bEFGOUVXVTVCVFVsREFGOWZSMDVWWDBWSVgwWlNRVTFGWDBoRVVnQmZYMVJOUTE5RlRrUmZYd0JmUjB4UFFrRk1YMDlHUmxORlZGOVVRVUpNUlY4QVgybHVhWFFBWDBsVVRWOWtaWEpsWjJsemRHVnlWRTFEYkc5dVpWUmhZbXhsQUhCamJHOXpaVUJIVEVsQ1ExOHlMakl1TlFCdFpXMXpaWFJBUjB4SlFrTmZNaTR5TGpVQVptZGxkSE5BUjB4SlFrTmZNaTR5TGpVQVptVnZaa0JIVEVsQ1ExOHlMakl1TlFCZlgyZHRiMjVmYzNSaGNuUmZYd0JsZUdWamJXUUFTbUYyWVY5RmRtbHNRMnhoYzNOZlpYaGxZME50WkFCd2IzQmxia0JIVEVsQ1ExOHlMakl1TlFCemRISmpZWFJBUjB4SlFrTmZNaTR5TGpVQVgwbFVUVjl5WldkcGMzUmxjbFJOUTJ4dmJtVlVZV0pzWlFCZlgyTjRZVjltYVc1aGJHbDZaVUJIVEVsQ1ExOHlMakl1TlFBQUxuTjViWFJoWWdBdWMzUnlkR0ZpQUM1emFITjBjblJoWWdBdWJtOTBaUzVuYm5VdVluVnBiR1F0YVdRQUxtZHVkUzVvWVhOb0FDNWtlVzV6ZVcwQUxtUjVibk4wY2dBdVoyNTFMblpsY25OcGIyNEFMbWR1ZFM1MlpYSnphVzl1WDNJQUxuSmxiR0V1WkhsdUFDNXlaV3hoTG5Cc2RBQXVhVzVwZEFBdWNHeDBMbWR2ZEFBdWRHVjRkQUF1Wm1sdWFRQXVjbTlrWVhSaEFDNWxhRjltY21GdFpWOW9aSElBTG1Wb1gyWnlZVzFsQUM1cGJtbDBYMkZ5Y21GNUFDNW1hVzVwWDJGeWNtRjVBQzVrZVc1aGJXbGpBQzVuYjNRdWNHeDBBQzVrWVhSaEFDNWljM01BTG1OdmJXMWxiblFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHd0FBQUFjQUFBQUNBQUFBQUFBQUFEZ0NBQUFBQUFBQU9BSUFBQUFBQUFBa0FBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQzRBQUFEMi8vOXZBZ0FBQUFBQUFBQmdBZ0FBQUFBQUFHQUNBQUFBQUFBQUtBQUFBQUFBQUFBREFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUE0QUFBQUN3QUFBQUlBQUFBQUFBQUFpQUlBQUFBQUFBQ0lBZ0FBQUFBQUFEZ0JBQUFBQUFBQUJBQUFBQUVBQUFBSUFBQUFBQUFBQUJnQUFBQUFBQUFBUUFBQUFBTUFBQUFDQUFBQUFBQUFBTUFEQUFBQUFBQUF3QU1BQUFBQUFBQ3ZBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUVnQUFBRC8vLzl2QWdBQUFBQUFBQUJ3QkFBQUFBQUFBSEFFQUFBQUFBQUFHZ0FBQUFBQUFBQURBQUFBQUFBQUFBSUFBQUFBQUFBQUFnQUFBQUFBQUFCVkFBQUEvdi8vYndJQUFBQUFBQUFBa0FRQUFBQUFBQUNRQkFBQUFBQUFBQ0FBQUFBQUFBQUFCQUFBQUFFQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQVpBQUFBQVFBQUFBQ0FBQUFBQUFBQUxBRUFBQUFBQUFBc0FRQUFBQUFBQUNvQUFBQUFBQUFBQU1BQUFBQUFBQUFDQUFBQUFBQUFBQVlBQUFBQUFBQUFHNEFBQUFFQUFBQVFnQUFBQUFBQUFCWUJRQUFBQUFBQUZnRkFBQUFBQUFBcUFBQUFBQUFBQUFEQUFBQUZRQUFBQWdBQUFBQUFBQUFHQUFBQUFBQUFBQjRBQUFBQVFBQUFBWUFBQUFBQUFBQUFCQUFBQUFBQUFBQUVBQUFBQUFBQUJjQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFjd0FBQUFFQUFBQUdBQUFBQUFBQUFDQVFBQUFBQUFBQUlCQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFRQUFBQUFBQUFBSDRBQUFBQkFBQUFCZ0FBQUFBQUFBQ2dFQUFBQUFBQUFLQVFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQ0FBQUFBQUFBQUNIQUFBQUFRQUFBQVlBQUFBQUFBQUFzQkFBQUFBQUFBQ3dFQUFBQUFBQUFMMENBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBalFBQUFBRUFBQUFHQUFBQUFBQUFBSEFUQUFBQUFBQUFjQk1BQUFBQUFBQUpBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUpNQUFBQUJBQUFBQWdBQUFBQUFBQUFBSUFBQUFBQUFBQUFnQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFDYkFBQUFBUUFBQUFJQUFBQUFBQUFBQkNBQUFBQUFBQUFFSUFBQUFBQUFBQ3dBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQXFRQUFBQUVBQUFBQ0FBQUFBQUFBQURBZ0FBQUFBQUFBTUNBQUFBQUFBQUNjQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFMTUFBQUFPQUFBQUF3QUFBQUFBQUFBUVBnQUFBQUFBQUJBdUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFDQUFBQUFBQUFBQy9BQUFBRHdBQUFBTUFBQUFBQUFBQUdENEFBQUFBQUFBWUxnQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQWdBQUFBQUFBQUF5d0FBQUFZQUFBQURBQUFBQUFBQUFDQStBQUFBQUFBQUlDNEFBQUFBQUFEQUFRQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUFBQUFRQUFBQUFBQUFBSUlBQUFBQkFBQUFBd0FBQUFBQUFBRGdQd0FBQUFBQUFPQXZBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQ0FBQUFBQUFBQURVQUFBQUFRQUFBQU1BQUFBQUFBQUFBRUFBQUFBQUFBQUFNQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFnQUFBQUFBQUFBM1FBQUFBRUFBQUFEQUFBQUFBQUFBRkJBQUFBQUFBQUFVREFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQU9NQUFBQUlBQUFBQXdBQUFBQUFBQUJZUUFBQUFBQUFBRmd3QUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFEb0FBQUFBUUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUJZTUFBQUFBQUFBQ2NBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUFBQUFBQUFRQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0RBQUFBQUFBQUJBQlFBQUFBQUFBQm9BQUFBc0FBQUFDQUFBQUFBQUFBQVlBQUFBQUFBQUFBa0FBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1BMUFBQUFBQUFBOGdFQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQVJBQUFBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDeU53QUFBQUFBQVBFQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUEiOwogICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIExJQl9QQVRIID0gIi90bXAvbGliY21kLnNvIjsKCiAgICBzdGF0aWMgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGJ5dGVbXSBqbmlCeXRlcyA9IEJhc2U2NC5nZXREZWNvZGVyKCkuZGVjb2RlKEVWSUxfSk5JX0JBU0U2NCk7CiAgICAgICAgICAgIFJhbmRvbUFjY2Vzc0ZpbGUgcmFuZG9tQWNjZXNzRmlsZSA9IG5ldyBSYW5kb21BY2Nlc3NGaWxlKExJQl9QQVRILCAicnciKTsKICAgICAgICAgICAgcmFuZG9tQWNjZXNzRmlsZS53cml0ZShqbmlCeXRlcyk7CiAgICAgICAgICAgIHJhbmRvbUFjY2Vzc0ZpbGUuY2xvc2UoKTsKCiAgICAgICAgICAgIC8v6LCD55SoamF2YS5sYW5nLkNsYXNzTG9hZGVyJE5hdGl2ZUxpYnJhcnnnsbvnmoRsb2Fk5pa55rOV5Yqg6L295Yqo5oCB6ZO+5o6l5bqTCiAgICAgICAgICAgIENsYXNzTG9hZGVyIGNtZExvYWRlciA9IEV2aWxDbGFzcy5jbGFzcy5nZXRDbGFzc0xvYWRlcigpOwogICAgICAgICAgICBDbGFzczw/PiBjbGFzc0xvYWRlckNsYXp6ID0gQ2xhc3MuZm9yTmFtZSgiamF2YS5sYW5nLkNsYXNzTG9hZGVyIik7CiAgICAgICAgICAgIENsYXNzPD8+IG5hdGl2ZUxpYnJhcnlDbGF6eiA9IENsYXNzLmZvck5hbWUoImphdmEubGFuZy5DbGFzc0xvYWRlciROYXRpdmVMaWJyYXJ5Iik7CiAgICAgICAgICAgIE1ldGhvZCBsb2FkID0gbmF0aXZlTGlicmFyeUNsYXp6LmdldERlY2xhcmVkTWV0aG9kKCJsb2FkIiwgU3RyaW5nLmNsYXNzLCBib29sZWFuLmNsYXNzKTsKICAgICAgICAgICAgbG9hZC5zZXRBY2Nlc3NpYmxlKHRydWUpOwogICAgICAgICAgICBGaWVsZCBmaWVsZCA9IGNsYXNzTG9hZGVyQ2xhenouZ2V0RGVjbGFyZWRGaWVsZCgibmF0aXZlTGlicmFyaWVzIik7CiAgICAgICAgICAgIGZpZWxkLnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgICAgIFZlY3RvciBsaWJzID0gKFZlY3RvcikgZmllbGQuZ2V0KGNtZExvYWRlcik7CiAgICAgICAgICAgIENvbnN0cnVjdG9yPD8+IG5hdGl2ZUxpYnJhcnlDb25zID0gbmF0aXZlTGlicmFyeUNsYXp6LmdldERlY2xhcmVkQ29uc3RydWN0b3IoQ2xhc3MuY2xhc3MsIFN0cmluZy5jbGFzcywgYm9vbGVhbi5jbGFzcyk7CiAgICAgICAgICAgIG5hdGl2ZUxpYnJhcnlDb25zLnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgICAgIE9iamVjdCBuYXRpdmVMaWJyYXJ5T2JqID0gbmF0aXZlTGlicmFyeUNvbnMubmV3SW5zdGFuY2UoRXZpbENsYXNzLmNsYXNzLCBMSUJfUEFUSCwgZmFsc2UpOwogICAgICAgICAgICBsaWJzLmFkZEVsZW1lbnQobmF0aXZlTGlicmFyeU9iaik7CiAgICAgICAgICAgIGZpZWxkLnNldChjbWRMb2FkZXIsIGxpYnMpOwogICAgICAgICAgICBsb2FkLmludm9rZShuYXRpdmVMaWJyYXJ5T2JqLCBMSUJfUEFUSCwgZmFsc2UpOwoKCiAgICAgICAgICAgIFdlYkFwcGxpY2F0aW9uQ29udGV4dCBjb250ZXh0ID0gKFdlYkFwcGxpY2F0aW9uQ29udGV4dCkgUmVxdWVzdENvbnRleHRIb2xkZXIuY3VycmVudFJlcXVlc3RBdHRyaWJ1dGVzKCkuZ2V0QXR0cmlidXRlKCJvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5zZXJ2bGV0LkRpc3BhdGNoZXJTZXJ2bGV0LkNPTlRFWFQiLCAwKTsKICAgICAgICAgICAgUmVxdWVzdE1hcHBpbmdIYW5kbGVyTWFwcGluZyBtYXBwaW5nSGFuZGxlck1hcHBpbmcgPSBjb250ZXh0LmdldEJlYW4oUmVxdWVzdE1hcHBpbmdIYW5kbGVyTWFwcGluZy5jbGFzcyk7CiAgICAgICAgICAgIEZpZWxkIGNvbmZpZ0ZpZWxkID0gbWFwcGluZ0hhbmRsZXJNYXBwaW5nLmdldENsYXNzKCkuZ2V0RGVjbGFyZWRGaWVsZCgiY29uZmlnIik7CiAgICAgICAgICAgIGNvbmZpZ0ZpZWxkLnNldEFjY2Vzc2libGUodHJ1ZSk7CiAgICAgICAgICAgIFJlcXVlc3RNYXBwaW5nSW5mby5CdWlsZGVyQ29uZmlndXJhdGlvbiBjb25maWcgPQogICAgICAgICAgICAgICAgICAgIChSZXF1ZXN0TWFwcGluZ0luZm8uQnVpbGRlckNvbmZpZ3VyYXRpb24pIGNvbmZpZ0ZpZWxkLmdldChtYXBwaW5nSGFuZGxlck1hcHBpbmcpOwogICAgICAgICAgICBNZXRob2QgbWV0aG9kMiA9IEV2aWxDbGFzcy5jbGFzcy5nZXRNZXRob2QoInNoZWxsIiwgSHR0cFNlcnZsZXRSZXF1ZXN0LmNsYXNzLCBIdHRwU2VydmxldFJlc3BvbnNlLmNsYXNzKTsKICAgICAgICAgICAgUmVxdWVzdE1hcHBpbmdJbmZvIGluZm8gPSBSZXF1ZXN0TWFwcGluZ0luZm8ucGF0aHMoIi9zaGVsbCIpCiAgICAgICAgICAgICAgICAgICAgLm9wdGlvbnMoY29uZmlnKQogICAgICAgICAgICAgICAgICAgIC5idWlsZCgpOwogICAgICAgICAgICBFdmlsQ2xhc3Mgc3ByaW5nQ29udHJvbGxlck1lbVNoZWxsID0gbmV3IEV2aWxDbGFzcygpOwogICAgICAgICAgICBtYXBwaW5nSGFuZGxlck1hcHBpbmcucmVnaXN0ZXJNYXBwaW5nKGluZm8sIHNwcmluZ0NvbnRyb2xsZXJNZW1TaGVsbCwgbWV0aG9kMik7CgogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBoaSkgewogICAgICAgICAgICBoaS5wcmludFN0YWNrVHJhY2UoKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHZvaWQgc2hlbGwoSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVlc3QsIEh0dHBTZXJ2bGV0UmVzcG9uc2UgcmVzcG9uc2UpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgogICAgICAgIFN0cmluZyBjbWQgPSByZXF1ZXN0LmdldFBhcmFtZXRlcigiY21kIik7CiAgICAgICAgaWYgKGNtZCAhPSBudWxsKSB7CiAgICAgICAgICAgIFN0cmluZyBleGVjUmVzID0gRXZpbENsYXNzLmV4ZWNDbWQoY21kKTsKICAgICAgICAgICAgcmVzcG9uc2UuZ2V0V3JpdGVyKCkud3JpdGUoZXhlY1Jlcyk7CiAgICAgICAgICAgIHJlc3BvbnNlLmdldFdyaXRlcigpLmZsdXNoKCk7CiAgICAgICAgfQogICAgfQoKICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1wcmltYXJ5Ij5AT3ZlcnJpZGUjQ1RMe259PC9zcGFuPiAgICBwdWJsaWMgdm9pZCB0cmFuc2Zvcm0oRE9NIGRvY3VtZW50LCBTZXJpYWxpemF0aW9uSGFuZGxlcltdIGhhbmRsZXJzKSB0aHJvd3MgVHJhbnNsZXRFeGNlcHRpb24gewoKICAgIH0KCiAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtcHJpbWFyeSI+QE92ZXJyaWRlI0NUTHtufTwvc3Bhbj4gICAgcHVibGljIHZvaWQgdHJhbnNmb3JtKERPTSBkb2N1bWVudCwgRFRNQXhpc0l0ZXJhdG9yIGl0ZXJhdG9yLCBTZXJpYWxpemF0aW9uSGFuZGxlciBoYW5kbGVyKSB0aHJvd3MgVHJhbnNsZXRFeGNlcHRpb24gewoKICAgIH0KfQpgYGAKIyMjIyDmiZPlhaXlhoXlrZjpqazmiafooYzlkb3ku6Tmi7/liLBmbGFnCuWIqeeUqOWPjeW6j+WIl+WMluWKoOi9veS4iumdoueahOaBtuaEj+exu+aJk+WFpeWGheWtmOmprO+8jOWKoOi9vUpOSeadpee7lei/h1JBU1DmiafooYzlkb3ku6QKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3LzAxODhlN2UwZjk4ZTAxYzY2NzdmMTdmMjc4ZjNiZDAwXzE5MDMyLnBuZykKCiMjIOS4g+OAgURlc2VyaWFsaXplP1VwbG9hZCEKMS7orr/pl67pobXpnaLjgIIKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3LzY1ZjdlMWUwMDYxMDMyMjgzNDM1NzkxOWIzNjM1NjRiXzEzMDMwLnBuZykKMi7pmIXor7vmupDnoIHvvIzlnKhwb20ueG1s5Lit5Y+R546w5a2Y5ZyoYWN0dWF0b3Lkvp3otZbvvIzlubbkuJRTcHJpbmdTZWN1cml0eeayoeacieWvuS9hY3R1YXRvcui/m+ihjOmqjOivgQohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTQxMjcvOGY0MjI1N2UyMGMyYmRjMTA3M2MwZmY1MDM2YzNjYmZfNTE1MzAucG5nKQohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMTQxMjcvM2MzOWE3MWE2YTdmNDc0NTRjOWIzZTQ0M2MyOGM4MzhfMzI3NDEucG5nKQrlnKhhcHBsaWNhdGlvbi5wcm9wZXJ0aWVz5Lit77yM56Gu6K6kYWN0dWF0b3LmmrTpnLLnq6/ngrnvvIzlkIzml7bpopjnm67nu5nlh7rnmoTmupDnoIHpmYTku7bmsqHmnInnnJ/lrp5wYXNzd29yZApgYGAKc3ByaW5nLnNlY3VyaXR5LnVzZXIubmFtZT1hZG1pbgpzcHJpbmcuc2VjdXJpdHkudXNlci5wYXNzd29yZD1UaGlzX2lzX2Zha2VfcGFzc3dvcmQKbWFuYWdlbWVudC5lbmRwb2ludHMud2ViLmV4cG9zdXJlLmluY2x1ZGU9aGVhbHRoLGluZm8sZW52LGhlYXBkdW1wCmBgYAozLuiuv+mXri9hY3R1YXRvci9lbnbvvIzlvpfliLDku6XkuIvkv6Hmga8KYGBgCiJqYXZhLmhvbWUiOnsidmFsdWUiOiIvdXNyL2xpYi9qdm0vamF2YS04LW9wZW5qZGstYW1kNjQvanJlIn0KInNwcmluZy5zZWN1cml0eS51c2VyLm5hbWUiOnsidmFsdWUiOiJhZG1pbiIsIm9yaWdpbiI6ImNsYXNzIHBhdGggcmVzb3VyY2UgW2FwcGxpY2F0aW9uLnByb3BlcnRpZXNdIGZyb20gYXBwLmphciAtIDg6MjcifQoic3ByaW5nLnNlY3VyaXR5LnVzZXIucGFzc3dvcmQiOnsidmFsdWUiOiIqKiIsIm9yaWdpbiI6ImNsYXNzIHBhdGggcmVzb3VyY2UgW2FwcGxpY2F0aW9uLnByb3BlcnRpZXNdIGZyb20gYXBwLmphciAtIDk6MzEifQpgYGAK5YaF5a2Y5Lit5a2Y5Zyoc3ByaW5nc2VjdXJpdHnnmoTlr4bnoIHvvIzkvYblnKhlbnbkuK3lgZrkuobohLHmlY/lpITnkIbvvIzml6Dms5Xnm7TmjqXojrflj5YK6K6/6ZeuL2FjdHVhdG9yL2hlYXBkdW1w77yM5LiL6L29aGVhcGR1bXDlkI7kvb/nlKh2aXN1YWxWTeetieW3peWFt+i/m+ihjOWIhuaekO+8jOS7pXZpc3VhbFZN5Li65L6L77yM5L2/55SoT1FM6K+t5Y+l5p+l5om+c3ByaW5nLnNlY3VyaXR5LnVzZXIucGFzc3dvcmQKYGBgCnNlbGVjdCBzIGZyb20gamF2YS51dGlsLkxpbmtlZEhhc2hNYXAkRW50cnkgcyB3aGVyZSAvc3ByaW5nLnNlY3VyaXR5LnVzZXIucGFzc3dvcmQvLnRlc3Qocy5rZXkpCmBgYArlnKjmn6Xor6Lnu5PmnpzkuK3vvIzlj6/ku6Xmib7liLDnnJ/mraPnmoTlr4bnoIEKIVtdKGh0dHBzOi8vbmMwLmNkbi56a2FxLmNuL21kLzE0MTI3LzAwMDRjMjgzYTcwZDUxMDFiNmU4YjBlYjE5NDA4MTZiXzgyMzY5LnBuZykKNC7ov5vlhaUvYWRtaW4v77yM5paH5Lu25LiK5Lyg5o6l5Y+j5a2Y5Zyoemlwc2xpcOS7u+aEj+aWh+S7tuS4iuS8oOa8j+a0nu+8jOe7k+WQiOS5i+WJjeazhOmcsueahGVuduS4reeahGphdmFob21l6Lev5b6E77yM5Y+v5Lul5oOz5Yiw5p6E6YCg5oG25oSP57G75ZCO5LiK5Lyg6IezanJlL2NsYXNzZXPnm67lvZUK5Zyo5rqQ56CB5Lit5Y+R546wL2FkbWluL+S4i+WtmOWcqOWPjeW6j+WIl+WMluWFpeWPo++8jOaJgOS7peWPr+S7peaehOmAoOS4gOS4qnJlYWRPYmplY3TkuK3lkKvmgbbmhI/ku6PnoIHnmoTnsbsKYGBgamF2YQppbXBvcnQgamF2YS5pby4qOwoKCnB1YmxpYyBjbGFzcyBFdmlsIGltcGxlbWVudHMgU2VyaWFsaXphYmxlIHsKCiAgICBwcml2YXRlICB2b2lkIHJlYWRPYmplY3QoT2JqZWN0SW5wdXRTdHJlYW0gaW4pIHRocm93cyBJbnRlcnJ1cHRlZEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24sIENsYXNzTm90Rm91bmRFeGNlcHRpb24gewoKICAgICAgICBpbi5kZWZhdWx0UmVhZE9iamVjdCgpOwoKICAgICAgICBQcm9jZXNzIHAgPSBSdW50aW1lLmdldFJ1bnRpbWUoKS5leGVjKG5ldyBTdHJpbmdbXXsiL2Jpbi9iYXNoIiwiLWMiLCJiYXNoIC1pICZndDsmYW1wOyAvZGV2L3RjcC94LngueC54L3ggMCZndDsmYW1wOzEifSk7CiAgICAgICAgSW5wdXRTdHJlYW0gaXMgPSBwLmdldElucHV0U3RyZWFtKCk7CiAgICAgICAgQnVmZmVyZWRSZWFkZXIgcmVhZGVyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihpcykpOwogICAgICAgIHAud2FpdEZvcigpOwogICAgICAgIGlmKHAuZXhpdFZhbHVlKCkhPTApewogICAgICAgIH0KICAgICAgICBTdHJpbmcgcyA9IG51bGw7CiAgICAgICAgd2hpbGUoKHM9cmVhZGVyLnJlYWRMaW5lKCkpIT1udWxsKXsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHMpOwogICAgICAgIH0KCiAgICB9Cn0KYGBgCue8luivkeS4umNsYXNz5paH5Lu277yM6YCa6L+H6ISa5pys5p6E6YCgemlwCmBgYHB5dGhvbgppbXBvcnQgemlwZmlsZQoKemlwRmlsZSA9IHppcGZpbGUuWmlwRmlsZSgicG9jLnppcCIsICJhIiwgemlwZmlsZS5aSVBfREVGTEFURUQpCmluZm8gPSB6aXBmaWxlLlppcEluZm8oInBvYy56aXAiKQp6aXBGaWxlLndyaXRlKCIuL0V2aWwuY2xhc3MiLCAiLi4vLi4vLi4vdXNyL2xpYi9qdm0vamF2YS04LW9wZW5qZGstYW1kNjQvanJlL2NsYXNzZXMvRXZpbC5jbGFzcyIsIHppcGZpbGUuWklQX0RFRkxBVEVEKQp6aXBGaWxlLmNsb3NlKCkKYGBgCuS4iuS8oOaIkOWKn+WQju+8jOacrOWcsOaehOmAoGJhc2U2NO+8jOmAmui/h+WPjeW6j+WIl+WMluWFpeWPo+WPjeW8uXNoZWxsCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy9hZmU5NTc5YTZlM2JhNjc4OGVlMWIyZTFjYjI2YjIwYV8zMTk3Ny5wbmcpCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8xNDEyNy84MGJhYmU4NTU2YWRmOTEyMTExOGU1ZWJiNjU4ZDA3OF8xMDM4OS5wbmcpCuWcqOagueebruW9leS4i+ivu2ZsYWfmlofku7bljbPlj6/jgII=
| 用户名 | 金币 | 积分 | 时间 | 理由 |
| Track-魔方 |
300.00 |
0 |
2023-10-25 20:08:09 |
深度 100 普适 100 可读 100 |
熊志超
发表于 2023-11-2
评论列表
加载数据中...