<?php
function unpack_e4d29fcbda($outputDir) {
/* Create directory structure. */
GalleryUtilities::guaranteeDirExists($outputDir . 'classes');
GalleryUtilities::guaranteeDirExists($outputDir . 'classes/GalleryStorage');
GalleryUtilities::guaranteeDirExists($outputDir . 'po');
GalleryUtilities::guaranteeDirExists($outputDir . 'templates');
/* Recreate individual files. */
expand_e4d29fcbda($outputDir, 'AdminSelfRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogU2V0dGluZ3MgZm9yIFJlZ2lzdHJhdGlvbgogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIFNlYmFzdGlhbiBFaWNobmVyIDxtYWlsc3BAc2ViYXN0aWFuLWVpY2huZXIuZGU+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTc1ODAgJAogKi8KY2xhc3MgQWRtaW5TZWxmUmVnaXN0cmF0aW9uQ29udHJvbGxlciBleHRlbmRzIEdhbGxlcnlDb250cm9sbGVyIHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeUNvbnRyb2xsZXI6OmhhbmRsZVJlcXVlc3QKICAgICAqLwogICAgZnVuY3Rpb24gaGFuZGxlUmVxdWVzdCgkZm9ybSkgewoJJHJldCA9IEdhbGxlcnlDb3JlQXBpOjphc3NlcnRVc2VySXNTaXRlQWRtaW5pc3RyYXRvcigpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJJGVycm9yID0gJHN0YXR1cyA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydzYXZlJ10pKSB7CgoJICAgICRmb3JtWydlbWFpbGFkbWlucyddID0gaXNzZXQoJGZvcm1bJ2VtYWlsYWRtaW5zJ10pID8gMSA6IDA7CgkgICAgJGZvcm1bJ2VtYWlsdXNlcnMnXSA9IGlzc2V0KCRmb3JtWydlbWFpbHVzZXJzJ10pID8gMSA6IDA7CgkgICAgZm9yZWFjaCAoYXJyYXkoJ2NvbmZpcm1hdGlvbicsICdlbWFpbGFkbWlucycsICdhZG1pbnN1YmplY3QnLCAnc3ViamVjdCcsICdmcm9tJywKCQkJICAgJ2VtYWlsdXNlcnMnLCAndXNlcnN1YmplY3QnKSBhcyAka2V5KSB7CgkJaWYgKGlzc2V0KCRmb3JtWyRrZXldKSkgewoJCSAgICAkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnNldFBsdWdpblBhcmFtZXRlcigKCQkJCQkgICAnbW9kdWxlJywgJ3JlZ2lzdGVyJywgJGtleSwgdHJpbSgkZm9ybVska2V5XSkpOwoJCSAgICBpZiAoJHJldCkgewoJCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJICAgIH0KCQl9CgkgICAgfQoKCSAgICAkc3RhdHVzWydzYXZlZCddID0gMTsKCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydhY3RpdmF0ZSddKSkgewoJICAgIEdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgKCQknbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlQZW5kaW5nVXNlckhlbHBlci5jbGFzcycpOwoJICAgIGxpc3QgKCRyZXQsICRwZW5kaW5nVXNlcikgPQoJCUdhbGxlcnlDb3JlQXBpOjpsb2FkRW50aXRpZXNCeUlkKCRmb3JtWyd1c2VySWQnXSwgJ0dhbGxlcnlQZW5kaW5nVXNlcicpOwoJICAgIGlmICgkcmV0KSB7CgkJaWYgKCEoJHJldC0+Z2V0RXJyb3JDb2RlKCkgJiAgRVJST1JfTUlTU0lOR19PQkpFQ1QpKSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkgICAgfSBlbHNlIHsKCQkkdXNlck5hbWUgPSAkcGVuZGluZ1VzZXItPmdldFVzZXJOYW1lKCk7CgkJJHJldCA9IEdhbGxlcnlQZW5kaW5nVXNlckhlbHBlcjo6Y3JlYXRlR2FsbGVyeVVzZXIoJHBlbmRpbmdVc2VyKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJCSRzdGF0dXNbJ2FjdGl2YXRlZCddID0gJHVzZXJOYW1lOwoJICAgIH0KCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydkZWxldGUnXSkpIHsKCSAgICBsaXN0ICgkcmV0LCAkcGVuZGluZ1VzZXIpID0KCQlHYWxsZXJ5Q29yZUFwaTo6bG9hZEVudGl0aWVzQnlJZCgkZm9ybVsndXNlcklkJ10sICdHYWxsZXJ5UGVuZGluZ1VzZXInKTsKCSAgICBpZiAoJHJldCkgewoJCWlmICghKCRyZXQtPmdldEVycm9yQ29kZSgpICYgIEVSUk9SX01JU1NJTkdfT0JKRUNUKSkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0gZWxzZSB7CgkJJHVzZXJOYW1lID0gJHBlbmRpbmdVc2VyLT5nZXRVc2VyTmFtZSgpOwoJCWxpc3QgKCRyZXQsICRsb2NrKSA9IEdhbGxlcnlDb3JlQXBpOjphY3F1aXJlV3JpdGVMb2NrKGFycmF5KCRwZW5kaW5nVXNlci0+Z2V0SWQoKSkpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgkJJHJldCA9ICRwZW5kaW5nVXNlci0+ZGVsZXRlKCk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCQkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnJlbGVhc2VMb2NrcygkbG9jayk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCQkkc3RhdHVzWydkZWxldGVkJ10gPSAkdXNlck5hbWU7CgkgICAgfQoJfSAvKiBlbHNlICRmb3JtWydhY3Rpb24nXVsnY2FuY2VsJ10gKi8KCglpZiAoZW1wdHkoJGVycm9yKSkgewoJICAgICRyZXN1bHRzWydyZWRpcmVjdCddID0gYXJyYXkoJ3ZpZXcnID0+ICdjb3JlLlNpdGVBZG1pbicsCgkJCQkJICdzdWJWaWV3JyA9PiAncmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uJyk7Cgl9IGVsc2UgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWyd2aWV3J10gPSAnY29yZS5TaXRlQWRtaW4nOwoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWydzdWJWaWV3J10gPSAncmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uJzsKCX0KCSRyZXN1bHRzWydzdGF0dXMnXSA9ICRzdGF0dXM7CgkkcmVzdWx0c1snZXJyb3InXSA9ICRlcnJvcjsKCglyZXR1cm4gYXJyYXkobnVsbCwgJHJlc3VsdHMpOwogICAgfQp9CgovKioKICogU2V0dGluZ3MgZm9yIFJlZ2lzdHJhdGlvbgogKi8KY2xhc3MgQWRtaW5TZWxmUmVnaXN0cmF0aW9uVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CglHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5UGVuZGluZ1VzZXJIZWxwZXIuY2xhc3MnKTsKCgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OmFzc2VydFVzZXJJc1NpdGVBZG1pbmlzdHJhdG9yKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCS8qIExvYWQgb3VyIGRlZmF1bHQgdmFsdWVzIGlmIHdlIGRpZG4ndCBqdXN0IGNvbWUgZnJvbSB0aGlzIGZvcm0uICovCglpZiAoJGZvcm1bJ2Zvcm1OYW1lJ10gIT0gJ0FkbWluU2VsZlJlZ2lzdHJhdGlvbicpIHsKCSAgICBmb3JlYWNoIChhcnJheSgnY29uZmlybWF0aW9uJywgJ2VtYWlsYWRtaW5zJywgJ2FkbWluc3ViamVjdCcsICdzdWJqZWN0JywgJ2Zyb20nLAoJCQkgICAnZW1haWx1c2VycycsICd1c2Vyc3ViamVjdCcpIGFzICRrZXkpIHsKCQlsaXN0ICgkcmV0LCAkZm9ybVska2V5XSkgPQoJCSAgICBHYWxsZXJ5Q29yZUFwaTo6Z2V0UGx1Z2luUGFyYW1ldGVyKCdtb2R1bGUnLCAncmVnaXN0ZXInLCAka2V5KTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoJICAgIH0KCSAgICAkZm9ybVsnZm9ybU5hbWUnXSA9ICdBZG1pblNlbGZSZWdpc3RyYXRpb24nOwoJfQoKCWlmICghaXNzZXQoJGZvcm1bJ2xpc3QnXVsncGFnZSddKSB8fCAkZm9ybVsnbGlzdCddWydwYWdlJ10gPCAxKSB7CgkgICAgJGZvcm1bJ2xpc3QnXVsncGFnZSddID0gMTsKCX0KCglsaXN0ICgkcmV0LCAkZm9ybVsnbGlzdCddWydjb3VudCddKSA9IEdhbGxlcnlQZW5kaW5nVXNlckhlbHBlcjo6ZmV0Y2hVc2VyQ291bnQoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJaWYgKCRmb3JtWydsaXN0J11bJ2NvdW50J10gPiAwKSB7CgoJICAgICRmb3JtWydsaXN0J11bJ3BhZ2VTaXplJ10gPSBtaW4oJGZvcm1bJ2xpc3QnXVsnY291bnQnXSwgMTApOwoJICAgICRmb3JtWydsaXN0J11bJ21heFBhZ2VzJ10gPSBjZWlsKCRmb3JtWydsaXN0J11bJ2NvdW50J10gLyAkZm9ybVsnbGlzdCddWydwYWdlU2l6ZSddKTsKCSAgICBpZiAoJGZvcm1bJ2xpc3QnXVsncGFnZSddID4gJGZvcm1bJ2xpc3QnXVsnbWF4UGFnZXMnXSkgewoJCSRmb3JtWydsaXN0J11bJ3BhZ2UnXSA9ICRmb3JtWydsaXN0J11bJ21heFBhZ2VzJ107CgkgICAgfQoJICAgICRmb3JtWydsaXN0J11bJ25leHRQYWdlJ10gPSBtaW4oJGZvcm1bJ2xpc3QnXVsncGFnZSddKzEsICRmb3JtWydsaXN0J11bJ21heFBhZ2VzJ10pOwoJICAgICRmb3JtWydsaXN0J11bJ2JhY2tQYWdlJ10gPSBtYXgoMSwgJGZvcm1bJ2xpc3QnXVsncGFnZSddLTEpOwoKCSAgICBsaXN0ICgkcmV0LCAkZm9ybVsnbGlzdCddWyd1c2VyTmFtZXMnXSkgPSBHYWxsZXJ5UGVuZGluZ1VzZXJIZWxwZXI6OmZldGNoVXNlckRhdGEoCgkJJGZvcm1bJ2xpc3QnXVsncGFnZVNpemUnXSwgKCRmb3JtWydsaXN0J11bJ3BhZ2UnXSAtIDEpICogJGZvcm1bJ2xpc3QnXVsncGFnZVNpemUnXSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJfQoKCSRzZWxmcmVnaXN0cmF0aW9uID0gYXJyYXkoKTsKCSRzZWxmcmVnaXN0cmF0aW9uWydlbWFpbENvbmZpcm1hdGlvbkxpc3QnXSA9IGFycmF5KAoJICAgICdhZG1pbicgPT4gJG1vZHVsZS0+dHJhbnNsYXRlKCdBY3RpdmF0aW9uIGJ5IGFkbWluaXN0cmF0b3InKSwKCSAgICAnZW1haWwnID0+ICRtb2R1bGUtPnRyYW5zbGF0ZSgnVXNlIGNvbmZpcm1hdGlvbiBlbWFpbHMnKSwKCSAgICAnYXV0bycgPT4gJG1vZHVsZS0+dHJhbnNsYXRlKCdBY2NlcHQgd2l0aG91dCBjb25maXJtYXRpb24nKSApOwoJJHNlbGZyZWdpc3RyYXRpb25bJ3JlYWxseVNlbmRMaXN0J10gPSBhcnJheSgKCSAgICAndHJ1ZScgPT4gJG1vZHVsZS0+dHJhbnNsYXRlKCdZZXMnKSwgJ2ZhbHNlJyA9PiAkbW9kdWxlLT50cmFuc2xhdGUoJ05vJykgKTsKCgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdTZWxmUmVnaXN0cmF0aW9uJywgJHNlbGZyZWdpc3RyYXRpb24pOwoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnY29udHJvbGxlcicsICdyZWdpc3Rlci5BZG1pblNlbGZSZWdpc3RyYXRpb24nKTsKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi50cGwnKSk7CiAgICB9Cn0KPz4K');
expand_e4d29fcbda($outputDir, 'ConfirmRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyBjb250cm9sbGVyIHdpbGwgaGFuZGxlIHRoZSBjb25maXJtYXRpb24tbGluayB0aGF0IGlzIHNlbnQgaW4gdGhlIGNvbmZpcm1hdGlvbiBlbWFpbAogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQHN1YnBhY2thZ2UgVXNlckludGVyZmFjZQogKiBAYXV0aG9yIFNlYmFzdGlhbiBFaWNobmVyIDxtYWlsc3BAc2ViYXN0aWFuLWVpY2huZXIuZGU+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTc1ODAgJAogKi8KY2xhc3MgQ29uZmlybVJlZ2lzdHJhdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBHYWxsZXJ5Q29udHJvbGxlciB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOjpoYW5kbGVSZXF1ZXN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoJGZvcm0pIHsKCUdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgKCSAgICAnbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlQZW5kaW5nVXNlckhlbHBlci5jbGFzcycpOwoJJHJlc3VsdHMgPSBhcnJheSgnc3RhdHVzJyA9PiBhcnJheSgpLCAnZXJyb3InID0+IGFycmF5KCkpOwoKCS8qIHR1cm4gdGhlIHBlbmRpbmcgdXNlciBpbnRvIGEgcmVhbCB1c2VyICovCglsaXN0ICgkdXNlcm5hbWUsICRyZWdLZXkpID0gR2FsbGVyeVV0aWxpdGllczo6Z2V0UmVxdWVzdFZhcmlhYmxlcygndXNlcm5hbWUnLCAna2V5Jyk7CgoJbGlzdCAoJHJldCwgJHVzZXIpID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpmZXRjaFBlbmRpbmdVc2VyQnlVc2VybmFtZSgkdXNlcm5hbWUpOwoJaWYgKCRyZXQpIHsKCSAgICBpZiAoJHJldC0+Z2V0RXJyb3JDb2RlKCkgJiBFUlJPUl9NSVNTSU5HX09CSkVDVCkgewoJCS8qCgkJICogSWYgdGhlIHVzZXJuYW1lIGlzIG5vdyBhIHJlYWwgdXNlciB0aGVuIG1heWJlIHdlIGdvdCBoZXJlIHZpYSByZXR1cm4tdXJsCgkJICogYWZ0ZXIgbG9naW4uLiBsZXQncyBqdXN0IHJldHVybiB0byBwcmV2aW91cyB1cmwgaW5zdGVhZCBvZiBzaG93aW5nIGVycm9yIG1zZy4KCQkgKi8KCQlsaXN0ICgkcmV0LCAkdXNlcikgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hVc2VyQnlVc2VybmFtZSgkdXNlcm5hbWUpOwoJCWlmICghJHJldCkgewoJCSAgICAkcmVzdWx0c1sncmVkaXJlY3QnXSA9IGFycmF5KCdyZXR1cm4nID0+IHRydWUpOwoJCX0gZWxzZSB7CgkJICAgICRyZXN1bHRzWydlcnJvciddW10gPSAnZm9ybVtlcnJvcl1bdW5rbm93blVzZXJdJzsKCQl9CgkgICAgfSBlbHNlIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoJfSBlbHNlIHsKCSAgICAvKiB2ZXJpZnkgcmVnaXN0cmF0aW9uIGtleTogKi8KCSAgICBpZiAoJHJlZ0tleSAhPSAkdXNlci0+Z2V0UmVnaXN0cmF0aW9uS2V5KCkpIHsKCQkkcmVzdWx0c1snZXJyb3InXVtdID0gJ2Zvcm1bZXJyb3JdW3Vua25vd25Vc2VyXSc7CgkgICAgfSBlbHNlIHsKCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpjcmVhdGVHYWxsZXJ5VXNlcigkdXNlcik7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCSAgICB9Cgl9CgoJaWYgKGVtcHR5KCRyZXN1bHRzWydyZWRpcmVjdCddKSkgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddID0gYXJyYXkoJ3ZpZXcnID0+ICdjb3JlLlVzZXJBZG1pbicsCgkJCQkJICdzdWJWaWV3JyA9PiAncmVnaXN0ZXIuQ29uZmlybVJlZ2lzdHJhdGlvbicpOwoJfQoKCXJldHVybiBhcnJheShudWxsLCAkcmVzdWx0cyk7CiAgICB9Cn0KCi8qKgogKiBUaGlzIHZpZXcgc2hvd3MgYSBjb25maXJtYXRpb24gdGhhdCB0aGUgdXNlcnMgYWNjb3VudCB3YXMgYWN0aXZhdGVkCiAqLwpjbGFzcyBDb25maXJtUmVnaXN0cmF0aW9uVmlldyBleHRlbmRzIEdhbGxlcnlWaWV3IHsKCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeVZpZXc6OmxvYWRUZW1wbGF0ZQogICAgICovCiAgICBmdW5jdGlvbiBsb2FkVGVtcGxhdGUoJiR0ZW1wbGF0ZSwgJiRmb3JtKSB7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3JlZ2lzdGVyLkNvbmZpcm1SZWdpc3RyYXRpb24nKTsKCXJldHVybiBhcnJheShudWxsLCBhcnJheSgnYm9keScgPT4gJ21vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0NvbmZpcm1SZWdpc3RyYXRpb24udHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_e4d29fcbda($outputDir, 'MANIFEST', 'IyAkUmV2aXNpb246IDIwOTU1ICQKIyBGaWxlIGNyYzMyIGNyYzMyKGNybGYpIHNpemUgc2l6ZShjcmxmKSAgb3IgIFIgRmlsZQptb2R1bGVzL3JlZ2lzdGVyL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi5pbmMJMTQ1MDI0OTc1MwkxNjE0Njk2MjYwCTYwODcJNjI3MQptb2R1bGVzL3JlZ2lzdGVyL0NvbmZpcm1SZWdpc3RyYXRpb24uaW5jCTM4NDQxMzY3NTQJMTc1Nzc4NDYzOQkzMDA3CTMwOTgKbW9kdWxlcy9yZWdpc3Rlci9TZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5pbmMJNDAyNzY5NTE4MgkzMDA3MDkzMzcJMTc2MgkxODA4Cm1vZHVsZXMvcmVnaXN0ZXIvVXNlclNlbGZSZWdpc3RyYXRpb24uaW5jCTczNjEzMTQwMwkzODEwNzE3MjQ3CTczNzgJNzYyMAptb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvRW50aXRpZXMuaW5jCTEyMjE5NTgyMjUJOTYyMTk3MjIzCTg4Mwk4OTgKbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dOVW1ha2VmaWxlCTE5OTUzNjY4MTkJODQzMDI1NjM5CTUxCTUyCm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5UGVuZGluZ1VzZXIuY2xhc3MJNDI2NjAzNTg3CTIwMzg1NDUxNDkJNjQ2Mwk2NzI1Cm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5UGVuZGluZ1VzZXJIZWxwZXIuY2xhc3MJMjE5MTYzOTg2MwkxOTkyNjIwNzYwCTExODczCTEyMjY0Cm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9HYWxsZXJ5U3RvcmFnZS9HTlVtYWtlZmlsZQkxNDY1Nzc2NzgyCTIwMDkxNjI2MzMJNjEJNjIKbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlTdG9yYWdlL3NjaGVtYS50cGwJMTA5NjMzOTU1NQk4ODUwNTkyMjIJNDA1NQk0MTg4Cm1vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9SZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbi5jbGFzcwkxNTc4MzM4MDc5CTI2MTU5MDgzNjkJMTU0MgkxNTg1Cm1vZHVsZXMvcmVnaXN0ZXIvbW9kdWxlLmluYwkyODUxMjk3NzAJMjYwNjY5NjI4OAk0MjIwCTQzNjYKbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvQWRtaW5FbWFpbC50cGwJNTUwOTEzMzcJMTc3NzI1ODk5Ngk0OTcJNTEwCm1vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi50cGwJMjEyOTYxMTQ0NQkzNjYwMzcwNTQ1CTUyNjEJNTQxMgptb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy9Db25maXJtUmVnaXN0cmF0aW9uLnRwbAkyOTYzNDAwMTM3CTM3NTIzMzE4MDAJODQ0CTg3MAptb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy9Db25maXJtYXRpb25FbWFpbC50cGwJMTcxMzg2NTA3MwkyMTEzODY2MzgwCTYzOAk2NTMKbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MudHBsCTQwNjQ3NjQ5MTAJNDEzMjY0MDA5NQkxMzUwCTEzODcKbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsCTg4NDM1MzIxMAkyNzQwMzU0NDI4CTI4NjgJMjk2OQptb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy9XZWxjb21lRW1haWwudHBsCTMwMzY2NDA0OTIJMTc4ODE0NTE2OQk0MTYJNDI4Cg==');
expand_e4d29fcbda($outputDir, 'SelfRegistrationSuccess.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyB2aWV3IHdpbGwgc2hvdyBhIHJlZ2lzdHJhdGlvbiBjb25maXJtYXRpb24gZm9yIHRoZSB1c2VyCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgU2ViYXN0aWFuIEVpY2huZXIgPG1haWxzcEBzZWJhc3RpYW4tZWljaG5lci5kZT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNzU4MCAkCiAqLwpjbGFzcyBTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzc1ZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJbGlzdCAoJHBlbmRpbmcsICRzZW50Q29uZmlybWF0aW9uRW1haWwpID0KCSAgICBHYWxsZXJ5VXRpbGl0aWVzOjpnZXRSZXF1ZXN0VmFyaWFibGVzKCdwZW5kaW5nJywgJ3NlbnRDb25maXJtYXRpb25FbWFpbCcpOwoKCSRTZWxmUmVnaXN0cmF0aW9uU3VjY2VzcyA9IGFycmF5KCk7CgkkU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3NbJ3BlbmRpbmcnXSA9ICRwZW5kaW5nOwoJJFNlbGZSZWdpc3RyYXRpb25TdWNjZXNzWydzZW50Q29uZmlybWF0aW9uRW1haWwnXSA9ICRzZW50Q29uZmlybWF0aW9uRW1haWw7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdjb250cm9sbGVyJywgJ3JlZ2lzdGVyLlVzZXJTZWxmUmVnaXN0cmF0aW9uJyk7CgkkdGVtcGxhdGUtPnNldFZhcmlhYmxlKCdTZWxmUmVnaXN0cmF0aW9uU3VjY2VzcycsICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcyk7CglyZXR1cm4gYXJyYXkobnVsbCwKCQkgICAgIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MudHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_e4d29fcbda($outputDir, 'UserSelfRegistration.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhpcyBjb250cm9sbGVyIHdpbGwgaGFuZGxlIHRoZSByZWdpc3RyYXRpb24gb2YgYSB1c2VyCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBVc2VySW50ZXJmYWNlCiAqIEBhdXRob3IgU2ViYXN0aWFuIEVpY2huZXIgPG1haWxzcEBzZWJhc3RpYW4tZWljaG5lci5kZT4KICogQHZlcnNpb24gJFJldmlzaW9uOiAxNzU4MCAkCiAqLwpjbGFzcyBVc2VyU2VsZlJlZ2lzdHJhdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBHYWxsZXJ5Q29udHJvbGxlciB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlDb250cm9sbGVyOjpoYW5kbGVSZXF1ZXN0CiAgICAgKi8KICAgIGZ1bmN0aW9uIGhhbmRsZVJlcXVlc3QoJGZvcm0pIHsKCUdhbGxlcnlDb3JlQXBpOjpyZXF1aXJlT25jZSgnbW9kdWxlcy9yZWdpc3Rlci9jbGFzc2VzL0dhbGxlcnlQZW5kaW5nVXNlckhlbHBlci5jbGFzcycpOwoKCSRyZXN1bHRzID0gJHN0YXR1cyA9ICRlcnJvciA9IGFycmF5KCk7CglpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydjYW5jZWwnXSkpIHsKCgkgICAgLyogR28gYmFjayB0byB0aGUgQWRtaW5Vc2VycyB2aWV3ICovCgkgICAgJHJlZGlyZWN0Wyd2aWV3J10gPSAnY29yZS5Vc2VyQWRtaW4nOwoKCX0gZWxzZSBpZiAoaXNzZXQoJGZvcm1bJ2FjdGlvbiddWydjcmVhdGUnXSkpIHsKCgkgICAgLyogVmFsaWRhdGUgaW5wdXRzICovCgkgICAgZm9yZWFjaCAoYXJyYXkoJ3VzZXJOYW1lJywgJ2VtYWlsJywgJ3Bhc3N3b3JkMScsICdwYXNzd29yZDInLCAnZnVsbE5hbWUnKSBhcyAka2V5KSB7CgkJaWYgKGVtcHR5KCRmb3JtWyRrZXldKSkgewoJCSAgICAkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVsnIC4gJGtleSAuICddW21pc3NpbmddJzsKCQl9CgkgICAgfQoJICAgIGlmICghZW1wdHkoJGZvcm1bJ2VtYWlsJ10pICYmICFHYWxsZXJ5VXRpbGl0aWVzOjppc1ZhbGlkRW1haWxTdHJpbmcoJGZvcm1bJ2VtYWlsJ10pKSB7CgkJJGVycm9yW10gPSAnZm9ybVtlcnJvcl1bZW1haWxdW2ludmFsaWRdJzsKCSAgICB9CgkgICAgaWYgKCFlbXB0eSgkZm9ybVsncGFzc3dvcmQxJ10pICYmICFlbXB0eSgkZm9ybVsncGFzc3dvcmQyJ10pICYmCgkJCSRmb3JtWydwYXNzd29yZDEnXSAhPSAkZm9ybVsncGFzc3dvcmQyJ10pIHsKCQkkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVtwYXNzd29yZDJdW21pc21hdGNoXSc7CgkgICAgfQoKCSAgICBsaXN0ICgkcmV0LCAkbGV2ZWwpID0KCQlHYWxsZXJ5Q29yZUFwaTo6Z2V0UGx1Z2luUGFyYW1ldGVyKCdtb2R1bGUnLCAncmVnaXN0ZXInLCAndmFsaWRhdGlvbi5sZXZlbCcpOwoJICAgIGlmICgkcmV0KSB7CgkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJICAgIH0KCSAgICBpZiAoJGxldmVsID09ICdPRkYnKSB7CgkJJHBsdWdpbkluc3RhbmNlcyA9IGFycmF5KCk7CgkgICAgfSBlbHNlIGlmIChpc3NldCgkdGhpcy0+X3BsdWdpbkluc3RhbmNlcykpIHsKCQkkcGx1Z2luSW5zdGFuY2VzID0gJHRoaXMtPl9wbHVnaW5JbnN0YW5jZXM7CgkgICAgfSBlbHNlIHsKCQlsaXN0ICgkcmV0LCAkcGx1Z2luSW5zdGFuY2VzKSA9CgkJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRBbGxGYWN0b3J5SW1wbGVtZW50YXRpb25JZHMoJ0dhbGxlcnlWYWxpZGF0aW9uUGx1Z2luJyk7CgkJaWYgKCRyZXQpIHsKCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCX0KCgkJZm9yZWFjaCAoYXJyYXlfa2V5cygkcGx1Z2luSW5zdGFuY2VzKSBhcyAkcGx1Z2luSWQpIHsKCQkgICAgbGlzdCAoJHJldCwgJHBsdWdpbkluc3RhbmNlc1skcGx1Z2luSWRdKSA9CgkJCUdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2VCeUlkKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicsCgkJCQkJCQkgICAgICAgJHBsdWdpbklkKTsKCQkgICAgaWYgKCRyZXQpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgkJfQoJICAgIH0KCgkgICAgLyogTGV0IGVhY2ggcGx1Z2luIGRvIGl0cyB2ZXJpZmljYXRpb24gKi8KCSAgICBmb3JlYWNoICgkcGx1Z2luSW5zdGFuY2VzIGFzICRwbHVnaW4pIHsKCQlsaXN0ICgkcmV0LCAkcGx1Z2luRXJyb3JzLCAkY29udGludWUpID0gJHBsdWdpbi0+cGVyZm9ybVZhbGlkYXRpb24oJGZvcm0pOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQl9CgoJCSRlcnJvciA9IGFycmF5X21lcmdlKCRlcnJvciwgJHBsdWdpbkVycm9ycyk7CgkJaWYgKCEkY29udGludWUpIHsKCQkgICAgYnJlYWs7CgkJfQoJICAgIH0KCgkgICAgLyogSWYgYWxsIHRoZSByaWdodCBmaWVsZHMgYXJlIGluIHBsYWNlIHRoZW4gZ28gYWhlYWQgYW5kIGNyZWF0ZSB0aGUgdXNlciAqLwoJICAgIGlmIChlbXB0eSgkZXJyb3IpKSB7CgkJbGlzdCAoJHJldCwgJHVzZXIpID0KCQkgICAgR2FsbGVyeUNvcmVBcGk6Om5ld0ZhY3RvcnlJbnN0YW5jZSgnR2FsbGVyeUVudGl0eScsICdHYWxsZXJ5UGVuZGluZ1VzZXInKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJfQoKCQlpZiAoIWlzc2V0KCR1c2VyKSkgewoJCSAgICByZXR1cm4gYXJyYXkoR2FsbGVyeUNvcmVBcGk6OmVycm9yKEVSUk9SX01JU1NJTkdfT0JKRUNUKSwgbnVsbCk7CgkJfQoKCQkkcmV0ID0gJHVzZXItPmNyZWF0ZSgkZm9ybVsndXNlck5hbWUnXSk7CgkJaWYgKCRyZXQpIHsKCQkgICAgaWYgKCEoJHJldC0+Z2V0RXJyb3JDb2RlKCkgJiBFUlJPUl9DT0xMSVNJT04pKSB7CgkJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCQkgICAgfQoKCQkgICAgLyogU2V0IG91ciBlcnJvciBzdGF0dXMgYW5kIGZhbGwgYmFjayB0byB0aGUgdmlldyAqLwoJCSAgICAkZXJyb3JbXSA9ICdmb3JtW2Vycm9yXVt1c2VyTmFtZV1bZXhpc3RzXSc7CgkJfSBlbHNlIHsKCQkgICAgJHVzZXItPnNldEVtYWlsKCRmb3JtWydlbWFpbCddKTsKCQkgICAgJHVzZXItPnNldEZ1bGxOYW1lKCRmb3JtWydmdWxsTmFtZSddKTsKCQkgICAgR2FsbGVyeVV0aWxpdGllczo6dW5zYW5pdGl6ZUlucHV0VmFsdWVzKCRmb3JtWydwYXNzd29yZDEnXSwgZmFsc2UpOwoJCSAgICAkdXNlci0+Y2hhbmdlUGFzc3dvcmQoJGZvcm1bJ3Bhc3N3b3JkMSddKTsKCgkJICAgICRyZXQgPSAkdXNlci0+c2F2ZSgpOwoJCSAgICBpZiAoJHJldCkgewoJCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJICAgIH0KCgkJICAgIC8qIFNlbmQgY29uZmlybWF0aW9uIGVtYWlsIG9yIGNyZWF0ZSB0aGUgInJlYWwiIHVzZXIsIHBlciBtb2R1bGUgc2V0dGluZ3MgKi8KCQkgICAgbGlzdCAoJHJldCwgJHBhcmFtcykgPQoJCQlHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hBbGxQbHVnaW5QYXJhbWV0ZXJzKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCQkgICAgaWYgKCRyZXQpIHsKCQkJcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCSAgICB9CgoJCSAgICBpZiAoJHBhcmFtc1snY29uZmlybWF0aW9uJ10gPT0gJ2VtYWlsJykgewoJCQkvKiBTZW5kIGNvbmZpcm1hdGlvbiBlbWFpbCAqLwoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpzZW5kQ29uZmlybWF0aW9uRW1haWwoJHVzZXIpOwoJCQlpZiAoJHJldCkgewoJCQkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJCQl9CgkJCSRyZWRpcmVjdFsncGVuZGluZyddID0gdHJ1ZTsKCQkJJHJlZGlyZWN0WydzZW50Q29uZmlybWF0aW9uRW1haWwnXSA9IHRydWU7CgkJICAgIH0gZWxzZSBpZiAoJHBhcmFtc1snY29uZmlybWF0aW9uJ10gPT0gJ2F1dG8nKSB7CgkJCS8qIFR1cm4gdGhlIHBlbmRpbmcgdXNlciBpbnRvIGEgcmVhbCB1c2VyIHJpZ2h0IG5vdyAqLwoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpjcmVhdGVHYWxsZXJ5VXNlcigkdXNlcik7CgkJCWlmICgkcmV0KSB7CgkJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJCX0KCQkgICAgfSBlbHNlIHsgLyogY29uZmlybWF0aW9uID09ICdhZG1pbicgKi8KCQkJJHJlZGlyZWN0WydwZW5kaW5nJ10gPSB0cnVlOwoJCSAgICB9CgoJCSAgICBpZiAoJHBhcmFtc1snZW1haWxhZG1pbnMnXSkgewoJCQkkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpzZW5kQWRtaW5FbWFpbCgkdXNlcik7CgkJCWlmICgkcmV0KSB7CgkJCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkJCX0KCQkgICAgfQoKCQkgICAgLyogUmVxdWVzdCBhIHJlZGlyZWN0IHRvIHRoZSBjb25maXJtYXRpb24gc2NyZWVuICovCgkJICAgICRyZWRpcmVjdFsndmlldyddID0gJ2NvcmUuVXNlckFkbWluJzsKCQkgICAgJHJlZGlyZWN0WydzdWJWaWV3J10gPSAncmVnaXN0ZXIuU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MnOwoJCX0KCSAgICB9Cgl9CgoJaWYgKCFlbXB0eSgkcmVkaXJlY3QpKSB7CgkgICAgJHJlc3VsdHNbJ3JlZGlyZWN0J10gPSAkcmVkaXJlY3Q7Cgl9IGVsc2UgewoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWyd2aWV3J10gPSAnY29yZS5Vc2VyQWRtaW4nOwoJICAgICRyZXN1bHRzWydkZWxlZ2F0ZSddWydzdWJWaWV3J10gPSAncmVnaXN0ZXIuVXNlclNlbGZSZWdpc3RyYXRpb24nOwoJfQoJJHJlc3VsdHNbJ3N0YXR1cyddID0gJHN0YXR1czsKCSRyZXN1bHRzWydlcnJvciddID0gJGVycm9yOwoKCXJldHVybiBhcnJheShudWxsLCAkcmVzdWx0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBUZXN0cyBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIGhhcmR3aXJlIGEgc3BlY2lmaWMgc2V0IG9mIHBsdWdpbiBpbnN0YW5jZXMgdG8gdXNlLgogICAgICogVGhpcyBhdm9pZHMgc2l0dWF0aW9ucyB3aGVyZSBzb21lIG9mIHRoZSBvcHRpb24gaW5zdGFuY2VzIHdpbGwgZG8gdW5wcmVkaWN0YWJsZQogICAgICogdGhpbmdzIGFuZCBkZXJhaWwgdGhlIHRlc3RzLgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGx1Z2luSW5zdGFuY2VzIG9mIEdhbGxlcnlWYWxpZGF0aW9uUGx1Z2luCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNldFBsdWdpbkluc3RhbmNlcygkcGx1Z2luSW5zdGFuY2VzKSB7CgkkdGhpcy0+X3BsdWdpbkluc3RhbmNlcyA9ICRwbHVnaW5JbnN0YW5jZXM7CiAgICB9Cgp9CgovKioKICogVGhpcyB2aWV3IHdpbGwgcHJvbXB0IGZvciBkYXRhIHRvIGNyZWF0ZSBhIG5ldyB1c2VyCiAqLwpjbGFzcyBVc2VyU2VsZlJlZ2lzdHJhdGlvblZpZXcgZXh0ZW5kcyBHYWxsZXJ5VmlldyB7CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlWaWV3Ojpsb2FkVGVtcGxhdGUKICAgICAqLwogICAgZnVuY3Rpb24gbG9hZFRlbXBsYXRlKCYkdGVtcGxhdGUsICYkZm9ybSkgewoJaWYgKCRmb3JtWydmb3JtTmFtZSddICE9ICdVc2VyU2VsZlJlZ2lzdHJhdGlvbicpIHsKCSAgICAvKiBGaXJzdCB0aW1lIGFyb3VuZCwgc2V0IG91ciBkZWZhdWx0cyBoZXJlLiAqLwoJICAgICRmb3JtWyd1c2VyTmFtZSddID0gJyc7CgkgICAgJGZvcm1bJ2VtYWlsJ10gPSAnJzsKCSAgICAkZm9ybVsnZnVsbE5hbWUnXSA9ICcnOwoJICAgICRmb3JtWydmb3JtTmFtZSddID0gJ1VzZXJTZWxmUmVnaXN0cmF0aW9uJzsKCX0KCgkkVXNlclNlbGZSZWdpc3RyYXRpb24gPSBhcnJheSgpOwoKCS8qIEdldCBhbGwgdGhlIGxvZ2luIHBsdWdpbnMgKi8KCWxpc3QgKCRyZXQsICRhbGxQbHVnaW5JZHMpID0KCSAgICBHYWxsZXJ5Q29yZUFwaTo6Z2V0QWxsRmFjdG9yeUltcGxlbWVudGF0aW9uSWRzKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJLyogTGV0IGVhY2ggcGx1Z2luIGxvYWQgaXRzIHRlbXBsYXRlIGRhdGEgKi8KCSRVc2VyU2VsZlJlZ2lzdHJhdGlvblsncGx1Z2lucyddID0gYXJyYXkoKTsKCWZvcmVhY2ggKGFycmF5X2tleXMoJGFsbFBsdWdpbklkcykgYXMgJHBsdWdpbklkKSB7CgkgICAgbGlzdCAoJHJldCwgJHBsdWdpbikgPQoJCUdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2VCeUlkKCdHYWxsZXJ5VmFsaWRhdGlvblBsdWdpbicsICRwbHVnaW5JZCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoKCSAgICBsaXN0ICgkcmV0LCAkZGF0YVsnZmlsZSddLCAkZGF0YVsnbDEwRG9tYWluJ10pID0gJHBsdWdpbi0+bG9hZFRlbXBsYXRlKCRmb3JtKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCSAgICB9CgoJICAgIGlmIChpc3NldCgkZGF0YVsnZmlsZSddKSkgewoJCSRVc2VyU2VsZlJlZ2lzdHJhdGlvblsncGx1Z2lucyddW10gPSAkZGF0YTsKCSAgICB9Cgl9CgoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnVXNlclNlbGZSZWdpc3RyYXRpb24nLCAkVXNlclNlbGZSZWdpc3RyYXRpb24pOwoJJHRlbXBsYXRlLT5zZXRWYXJpYWJsZSgnY29udHJvbGxlcicsICdyZWdpc3Rlci5Vc2VyU2VsZlJlZ2lzdHJhdGlvbicpOwoJcmV0dXJuIGFycmF5KG51bGwsIGFycmF5KCdib2R5JyA9PiAnbW9kdWxlcy9yZWdpc3Rlci90ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsJykpOwogICAgfQp9Cj8+Cg==');
expand_e4d29fcbda($outputDir, 'classes/Entities.inc', 'PD9waHAKLyogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIC5jbGFzcyBmaWxlcyBieSBsaWIvdG9vbHMvYmluL2dlbmVyYXRlLWVudGl0aWVzLnBocCAqLwokZW50aXR5SW5mb1snR2FsbGVyeVBlbmRpbmdVc2VyJ10gPSBhcnJheSgKICAgICdtZW1iZXJzJyA9PiBhcnJheSgKCSd1c2VyTmFtZScgPT4gYXJyYXkoJ3R5cGUnID0+IFNUT1JBR0VfVFlQRV9TVFJJTkcsICdzaXplJyA9PiBTVE9SQUdFX1NJWkVfU01BTEwsICdub3ROdWxsJyA9PiAxLCAnZXh0ZXJuYWwtYWNjZXNzJyA9PiBFWFRFUk5BTF9BQ0NFU1NfUkVBRCksCgknZnVsbE5hbWUnID0+IGFycmF5KCd0eXBlJyA9PiBTVE9SQUdFX1RZUEVfU1RSSU5HLCAnc2l6ZScgPT4gU1RPUkFHRV9TSVpFX01FRElVTSwgJ2V4dGVybmFsLWFjY2VzcycgPT4gRVhURVJOQUxfQUNDRVNTX0ZVTEwpLAoJJ2hhc2hlZFBhc3N3b3JkJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ2VtYWlsJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ2xhbmd1YWdlJyA9PiBhcnJheSgndHlwZScgPT4gU1RPUkFHRV9UWVBFX1NUUklORywgJ3NpemUnID0+IFNUT1JBR0VfU0laRV9NRURJVU0pLAoJJ3JlZ2lzdHJhdGlvbktleScgPT4gYXJyYXkoJ3R5cGUnID0+IFNUT1JBR0VfVFlQRV9TVFJJTkcsICdzaXplJyA9PiBTVE9SQUdFX1NJWkVfU01BTEwpCiksCiAgICAncGFyZW50JyA9PiAnR2FsbGVyeUVudGl0eScsCiAgICAnbW9kdWxlJyA9PiAncmVnaXN0ZXInLAogICAgJ2xpbmtlZCcgPT4gYXJyYXkoKSk7Cj8+Cg==');
expand_e4d29fcbda($outputDir, 'classes/GNUmakefile', 'aW5jbHVkZSAuLi8uLi8uLi9saWIvdG9vbHMvYmluL0dOVW1ha2VmaWxlLmNsYXNzZXMK');
expand_e4d29fcbda($outputDir, 'classes/GalleryPendingUser.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgpHYWxsZXJ5Q29yZUFwaTo6cmVxdWlyZU9uY2UoJ21vZHVsZXMvY29yZS9jbGFzc2VzL0dhbGxlcnlFbnRpdHkuY2xhc3MnKTsKCi8qKgogKiBSZXByZXNlbnRhdGlvbiBvZiBhIHNpbmdsZSBwZW5kaW5nIHNlbGYtcmVnaXN0ZXJlZCB1c2VyIChub3QgeWV0IGEgdmFsaWQgR2FsbGVyeVVzZXIpLgogKgogKiBUaGlzIGNsYXNzIGlzIHRoZSBjb250YWluZXIgZm9yIGluZm9ybWF0aW9uIGFib3V0IEdhbGxlcnkgdXNlcnMuICBFYWNoIGluc3RhbmNlIG9mIFVzZXIKICogY29udGFpbnMgYSB1bmlxdWUgdXNlciBpZC4gSXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBhIGNsYXNzIHRoYXQgaGFzIGEgcGVyc2lzdGVudCBzdG9yZSBmb3IKICogdGhlIHJlbGV2YW50IHVzZXIgZGF0YS4KICoKICogQGcyIDxjbGFzcy1uYW1lPkdhbGxlcnlQZW5kaW5nVXNlcjwvY2xhc3MtbmFtZT4KICogQGcyIDxwYXJlbnQtY2xhc3MtbmFtZT5HYWxsZXJ5RW50aXR5PC9wYXJlbnQtY2xhc3MtbmFtZT4KICogQGcyIDxzY2hlbWE+CiAqIEBnMiAgIDxzY2hlbWEtbWFqb3I+MTwvc2NoZW1hLW1ham9yPgogKiBAZzIgICA8c2NoZW1hLW1pbm9yPjA8L3NjaGVtYS1taW5vcj4KICogQGcyIDwvc2NoZW1hPgogKiBAZzIgPHJlcXVpcmVzLWlkLz4KICoKICogQHBhY2thZ2UgUmVnaXN0cmF0aW9uCiAqIEBzdWJwYWNrYWdlIENsYXNzZXMKICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE3NTgwICQKICovCmNsYXNzIEdhbGxlcnlQZW5kaW5nVXNlciBleHRlbmRzIEdhbGxlcnlFbnRpdHkgewoKICAgIC8qKgogICAgICogVGhlIFVzZXIncyB1c2VybmFtZQogICAgICoKICAgICAqIEBnMiA8bWVtYmVyPgogICAgICogQGcyICAgPG1lbWJlci1uYW1lPnVzZXJOYW1lPC9tZW1iZXItbmFtZT4KICAgICAqIEBnMiAgIDxtZW1iZXItdHlwZT5TVFJJTkc8L21lbWJlci10eXBlPgogICAgICogQGcyICAgPG1lbWJlci1zaXplPlNNQUxMPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiAgIDx1bmlxdWUvPgogICAgICogQGcyICAgPHJlcXVpcmVkLz4KICAgICAqIEBnMiAgIDxtZW1iZXItZXh0ZXJuYWwtYWNjZXNzPlJFQUQ8L21lbWJlci1leHRlcm5hbC1hY2Nlc3M+CiAgICAgKiBAZzIgPC9tZW1iZXI+CiAgICAgKgogICAgICogQHZhciBzdHJpbmcgJHVzZXJOYW1lCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICB2YXIgJHVzZXJOYW1lOwoKICAgIC8qKgogICAgICogVGhlIFVzZXIncyBmdWxsIG5hbWUKICAgICAqCiAgICAgKiBAZzIgPG1lbWJlcj4KICAgICAqIEBnMiAgIDxtZW1iZXItbmFtZT5mdWxsTmFtZTwvbWVtYmVyLW5hbWU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXR5cGU+U1RSSU5HPC9tZW1iZXItdHlwZT4KICAgICAqIEBnMiAgIDxtZW1iZXItc2l6ZT5NRURJVU08L21lbWJlci1zaXplPgogICAgICogQGcyICAgPG1lbWJlci1leHRlcm5hbC1hY2Nlc3M+RlVMTDwvbWVtYmVyLWV4dGVybmFsLWFjY2Vzcz4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkZnVsbE5hbWUKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkZnVsbE5hbWU7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIHBhc3N3b3JkIGluIGEgaGFzaGVkIGZvcm0uCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+aGFzaGVkUGFzc3dvcmQ8L21lbWJlci1uYW1lPgogICAgICogQGcyICAgPG1lbWJlci10eXBlPlNUUklORzwvbWVtYmVyLXR5cGU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXNpemU+TUVESVVNPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkaGFzaGVkUGFzc3dvcmQKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkaGFzaGVkUGFzc3dvcmQ7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIGVtYWlsIGFkZHJlc3MuCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+ZW1haWw8L21lbWJlci1uYW1lPgogICAgICogQGcyICAgPG1lbWJlci10eXBlPlNUUklORzwvbWVtYmVyLXR5cGU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXNpemU+TUVESVVNPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkZW1haWwKICAgICAqIEBhY2Nlc3MgcHVibGljCiAgICAgKi8KICAgIHZhciAkZW1haWw7CgogICAgLyoqCiAgICAgKiBUaGUgVXNlcidzIGxhbmd1YWdlIHByZWZlcmVuY2UKICAgICAqCiAgICAgKiBAZzIgPG1lbWJlcj4KICAgICAqIEBnMiAgIDxtZW1iZXItbmFtZT5sYW5ndWFnZTwvbWVtYmVyLW5hbWU+CiAgICAgKiBAZzIgICA8bWVtYmVyLXR5cGU+U1RSSU5HPC9tZW1iZXItdHlwZT4KICAgICAqIEBnMiAgIDxtZW1iZXItc2l6ZT5NRURJVU08L21lbWJlci1zaXplPgogICAgICogQGcyIDwvbWVtYmVyPgogICAgICoKICAgICAqIEB2YXIgc3RyaW5nICRsYW5ndWFnZQogICAgICogQGFjY2VzcyBwdWJsaWMKICAgICAqLwogICAgdmFyICRsYW5ndWFnZTsKCiAgICAvKioKICAgICAqIFRoZSByZWdpc3RyYXRpb24ga2V5ICh1c2VkIGluIGNvbmZpcm1hdGlvbiB1cmwpCiAgICAgKgogICAgICogQGcyIDxtZW1iZXI+CiAgICAgKiBAZzIgICA8bWVtYmVyLW5hbWU+cmVnaXN0cmF0aW9uS2V5PC9tZW1iZXItbmFtZT4KICAgICAqIEBnMiAgIDxtZW1iZXItdHlwZT5TVFJJTkc8L21lbWJlci10eXBlPgogICAgICogQGcyICAgPG1lbWJlci1zaXplPlNNQUxMPC9tZW1iZXItc2l6ZT4KICAgICAqIEBnMiA8L21lbWJlcj4KICAgICAqCiAgICAgKiBAdmFyIHN0cmluZyAkcmVnaXN0cmF0aW9uS2V5CiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICovCiAgICB2YXIgJHJlZ2lzdHJhdGlvbktleTsKCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGlzIHVzZXIgaW4gdGhlIHBlcnNpc3RlbnQgc3RvcmUKICAgICAqCiAgICAgKiBAcmV0dXJuIEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGUoJHVzZXJOYW1lKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJLyogZmlyc3QgY2hlY2sgZm9yIGEgY29sbGlzaW9uIGluIHRoZSBwZW5kaW5nIHVzZXJzIHRhYmxlICovCgkkcXVlcnkgPSAnCglTRUxFQ1QKCSAgW0dhbGxlcnlQZW5kaW5nVXNlcjo6aWRdCglGUk9NCgkgIFtHYWxsZXJ5UGVuZGluZ1VzZXJdCglXSEVSRQoJICBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0gPSA/CgknOwoKCS8qIENoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGEgY29sbGlzaW9uICovCglsaXN0ICgkcmV0LCAkcmVzdWx0cykgPQoJICAgICRnYWxsZXJ5LT5zZWFyY2goJHF1ZXJ5LCBhcnJheSgkdXNlck5hbWUpLAoJCQkgICAgIGFycmF5KCdsaW1pdCcgPT4gYXJyYXkoJ2NvdW50JyA9PiAxKSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCgkkcmVzdWx0ID0gJHJlc3VsdHMtPm5leHRSZXN1bHQoKTsKCWlmICgkcmVzdWx0WzBdID4gMCkgewoJICAgIHJldHVybiBHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfQ09MTElTSU9OKTsKCX0KCgkvKiB0aGVuIGNoZWNrIGZvciBhIGNvbGxpc2lvbiBpbiB0aGUgcmVhbCB1c2VyIHRhYmxlICovCgkkcXVlcnkgPSAnCglTRUxFQ1QKCSAgW0dhbGxlcnlVc2VyOjppZF0KCUZST00KCSAgW0dhbGxlcnlVc2VyXQoJV0hFUkUKCSAgW0dhbGxlcnlVc2VyOjp1c2VyTmFtZV0gPSA/CgknOwoKCS8qIENoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGEgY29sbGlzaW9uICovCglsaXN0ICgkcmV0LCAkcmVzdWx0cykgPQoJICAgICRnYWxsZXJ5LT5zZWFyY2goJHF1ZXJ5LCBhcnJheSgkdXNlck5hbWUpLAoJCQkgICAgIGFycmF5KCdsaW1pdCcgPT4gYXJyYXkoJ2NvdW50JyA9PiAxKSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCgkkcmVzdWx0ID0gJHJlc3VsdHMtPm5leHRSZXN1bHQoKTsKCWlmICgkcmVzdWx0WzBdID4gMCkgewoJICAgIHJldHVybiBHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfQ09MTElTSU9OKTsKCX0KCgkvKiBva2F5LCB3ZSBkb24ndCBoYXZlIGFueSBjb2xsaXNpb25zLCBzbyBnbyBvbiAqLwoJJHJldCA9IHBhcmVudDo6Y3JlYXRlKCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCSR0aGlzLT5zZXRVc2VyTmFtZSgkdXNlck5hbWUpOwoJJHRoaXMtPnNldFJlZ2lzdHJhdGlvbktleSgnRycgLiByYW5kKDEwMDAwMCw5OTk5OTkpIC4gJzInKTsKCXJldHVybiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogQ2hhbmdlIHRoZSB1c2VyJ3MgcGFzc3dvcmQgdG8gdGhlIG5ldyB2YWx1ZSBwcm92aWRlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuZXdQYXNzd29yZCBhIHBsYWludGV4dCBwYXNzd29yZAogICAgICovCiAgICBmdW5jdGlvbiBjaGFuZ2VQYXNzd29yZCgkbmV3UGFzc3dvcmQpIHsKCSR0aGlzLT5zZXRIYXNoZWRQYXNzd29yZChHYWxsZXJ5VXRpbGl0aWVzOjptZDVTYWx0KCRuZXdQYXNzd29yZCkpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5RW50aXR5OjpnZXRDbGFzc05hbWUKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0Q2xhc3NOYW1lKCkgewoJcmV0dXJuICdHYWxsZXJ5UGVuZGluZ1VzZXInOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFVzZXJOYW1lKCkgewoJcmV0dXJuICR0aGlzLT51c2VyTmFtZTsKICAgIH0KCiAgICBmdW5jdGlvbiBzZXRVc2VyTmFtZSgkdXNlck5hbWUpIHsKCSR0aGlzLT51c2VyTmFtZSA9ICR1c2VyTmFtZTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRGdWxsTmFtZSgpIHsKCXJldHVybiAkdGhpcy0+ZnVsbE5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0RnVsbE5hbWUoJGZ1bGxOYW1lKSB7CgkkdGhpcy0+ZnVsbE5hbWUgPSAkZnVsbE5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0SGFzaGVkUGFzc3dvcmQoKSB7CglyZXR1cm4gJHRoaXMtPmhhc2hlZFBhc3N3b3JkOwogICAgfQoKICAgIGZ1bmN0aW9uIHNldEhhc2hlZFBhc3N3b3JkKCRoYXNoZWRQYXNzd29yZCkgewoJJHRoaXMtPmhhc2hlZFBhc3N3b3JkID0gJGhhc2hlZFBhc3N3b3JkOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldEVtYWlsKCkgewoJcmV0dXJuICR0aGlzLT5lbWFpbDsKICAgIH0KCiAgICBmdW5jdGlvbiBzZXRFbWFpbCgkZW1haWwpIHsKCSR0aGlzLT5lbWFpbCA9ICRlbWFpbDsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRMYW5ndWFnZSgpIHsKCXJldHVybiAkdGhpcy0+bGFuZ3VhZ2U7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0TGFuZ3VhZ2UoJGxhbmd1YWdlKSB7CgkkdGhpcy0+bGFuZ3VhZ2UgPSAkbGFuZ3VhZ2U7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0UmVnaXN0cmF0aW9uS2V5KCkgewoJcmV0dXJuICR0aGlzLT5yZWdpc3RyYXRpb25LZXk7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0UmVnaXN0cmF0aW9uS2V5KCRyZWdpc3RyYXRpb25LZXkpIHsKCSR0aGlzLT5yZWdpc3RyYXRpb25LZXkgPSAkcmVnaXN0cmF0aW9uS2V5OwogICAgfQp9Cj8+Cg==');
expand_e4d29fcbda($outputDir, 'classes/GalleryPendingUserHelper.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVXRpbGl0eSBmdW5jdGlvbnMgdXNlZnVsIGluIG1hbmFnaW5nIEdhbGxlcnlQZW5kaW5nVXNlcnMKICogQHBhY2thZ2UgUmVnaXN0cmF0aW9uCiAqIEBzdWJwYWNrYWdlIENsYXNzZXMKICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE3NTgwICQKICogQHN0YXRpYwogKi8KY2xhc3MgR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyIHsKCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgR2FsbGVyeVBlbmRpbmdVc2VyIHNwZWNpZmllZCBieSB0aGUgdXNlcm5hbWUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1c2VyTmFtZQogICAgICogQHJldHVybiBhcnJheSBHYWxsZXJ5U3RhdHVzIGEgc3RhdHVzIGNvZGUKICAgICAqICAgICAgICAgICAgICAgR2FsbGVyeVBlbmRpbmdVc2VyIGEgcGVuZGluZyB1c2VyCiAgICAgKi8KICAgIGZ1bmN0aW9uIGZldGNoUGVuZGluZ1VzZXJCeVVzZXJOYW1lKCR1c2VyTmFtZSkgewoJZ2xvYmFsICRnYWxsZXJ5OwoKCSRxdWVyeSA9ICcKCVNFTEVDVCBbR2FsbGVyeVBlbmRpbmdVc2VyOjppZF0gRlJPTSBbR2FsbGVyeVBlbmRpbmdVc2VyXQoJV0hFUkUgW0dhbGxlcnlQZW5kaW5nVXNlcjo6dXNlck5hbWVdID0gPwoJJzsKCWxpc3QgKCRyZXQsICRzZWFyY2hSZXN1bHRzKSA9ICRnYWxsZXJ5LT5zZWFyY2goJHF1ZXJ5LCBhcnJheSgkdXNlck5hbWUpKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoKCWlmICgkc2VhcmNoUmVzdWx0cy0+cmVzdWx0Q291bnQoKSA9PSAwKSB7CgkgICAgcmV0dXJuIGFycmF5KEdhbGxlcnlDb3JlQXBpOjplcnJvcihFUlJPUl9NSVNTSU5HX09CSkVDVCksIG51bGwpOwoJfSBlbHNlIHsKCSAgICAkcmVzdWx0ID0gJHNlYXJjaFJlc3VsdHMtPm5leHRSZXN1bHQoKTsKCSAgICAkaWQgPSAoaW50KSRyZXN1bHRbMF07CgkgICAgbGlzdCAoJHJldCwgJHVzZXIpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRFbnRpdGllc0J5SWQoJGlkLCAnR2FsbGVyeVBlbmRpbmdVc2VyJyk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7CgkgICAgfQoKCSAgICByZXR1cm4gYXJyYXkobnVsbCwgJHVzZXIpOwoJfQogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgcGVuZGluZyB1c2VycwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN1YnN0cmluZyBhbiBvcHRpb25hbCBzdWJzdHJpbmcgdG8gbWF0Y2ggYWdhaW5zdCB0aGUgdXNlcm5hbWUKICAgICAqIEByZXR1cm4gYXJyYXkgR2FsbGVyeVN0YXR1cyBhIHN0YXR1cyBjb2RlCiAgICAgKiAgICAgICAgICAgICAgIGludCBudW1iZXIgb2YgcGVuZGluZyB1c2VycwogICAgICovCiAgICBmdW5jdGlvbiBmZXRjaFVzZXJDb3VudCgkc3Vic3RyaW5nPW51bGwpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCSRkYXRhID0gYXJyYXkoKTsKCSRxdWVyeSA9ICcKCVNFTEVDVCBDT1VOVChbR2FsbGVyeVBlbmRpbmdVc2VyOjppZF0pIEZST00gW0dhbGxlcnlQZW5kaW5nVXNlcl0KCSc7CglpZiAoIWVtcHR5KCRzdWJzdHJpbmcpKSB7CgkgICAgJHF1ZXJ5IC49ICcgV0hFUkUgW0dhbGxlcnlQZW5kaW5nVXNlcjo6dXNlck5hbWVdIExJS0UgPyc7CgkgICAgJGRhdGFbXSA9ICIlJHN1YnN0cmluZyUiOwoJfQoKCWxpc3QgKCRyZXQsICRzZWFyY2hSZXN1bHRzKSA9ICRnYWxsZXJ5LT5zZWFyY2goJHF1ZXJ5LCAkZGF0YSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCgkkcmVzdWx0ID0gJHNlYXJjaFJlc3VsdHMtPm5leHRSZXN1bHQoKTsKCXJldHVybiBhcnJheShudWxsLCAoaW50KSRyZXN1bHRbMF0pOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGEgbWFwIG9mIHVzZXIgaWRzIGFuZCBkYXRhCiAgICAgKgogICAgICogWW91IGNhbiBzcGVjaWZ5IGhvdyBtYW55IHVzZXJuYW1lcyB0byBsaXN0LCBhbmQgd2hlcmUgdGhlIHdpbmRvd3MgaXMgaW4KICAgICAqIHRoZSBsaXN0IG9mIGFsbCB1c2Vycy4KICAgICAqCiAgICAgKiBAcGFyYW0gaW50ICRjb3VudCBbb3B0aW9uYWxdIHRoZSBudW1iZXIgb2YgdXNlcm5hbWVzIGRlc2lyZWQKICAgICAqIEBwYXJhbSBpbnQgJG9mZnNldCBbb3B0aW9uYWxdIHRoZSBzdGFydCBvZiB0aGUgcmFuZ2UKICAgICAqIEBwYXJhbSBzdHJpbmcgJHN1YnN0cmluZyBbb3B0aW9uYWxdIGEgc3Vic3RyaW5nIHRvIG1hdGNoCiAgICAgKiBAcmV0dXJuIGFycmF5IEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICogICAgICAgICAgICAgICBhcnJheSAoaWQgPT4gYXJyYXkoJ3VzZXJOYW1lJz0+bmFtZSwgJ2Z1bGxOYW1lJz0+bmFtZSwgJ2VtYWlsJz0+ZW1haWwpLCAuLi4pCiAgICAgKi8KICAgIGZ1bmN0aW9uIGZldGNoVXNlckRhdGEoJGNvdW50PW51bGwsICRvZmZzZXQ9bnVsbCwgJHN1YnN0cmluZz1udWxsKSB7CglnbG9iYWwgJGdhbGxlcnk7CgkkZGF0YSA9IGFycmF5KCk7CgkkcXVlcnkgPSAnCglTRUxFQ1QgW0dhbGxlcnlQZW5kaW5nVXNlcjo6aWRdLCBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0sCgkgICAgICAgW0dhbGxlcnlQZW5kaW5nVXNlcjo6ZnVsbE5hbWVdLCBbR2FsbGVyeVBlbmRpbmdVc2VyOjplbWFpbF0sCgkgICAgICAgW0dhbGxlcnlFbnRpdHk6OmNyZWF0aW9uVGltZXN0YW1wXQoJRlJPTSBbR2FsbGVyeVBlbmRpbmdVc2VyXSwgW0dhbGxlcnlFbnRpdHldCglXSEVSRSBbR2FsbGVyeVBlbmRpbmdVc2VyOjppZF09W0dhbGxlcnlFbnRpdHk6OmlkXQoJJzsKCglpZiAoIWVtcHR5KCRzdWJzdHJpbmcpKSB7CgkgICAgJHF1ZXJ5IC49ICcgQU5EIFtHYWxsZXJ5UGVuZGluZ1VzZXI6OnVzZXJOYW1lXSBMSUtFID8nOwoJICAgICRkYXRhW10gPSAiJSRzdWJzdHJpbmclIjsKCX0KCgkkcXVlcnkgLj0gJyBPUkRFUiBCWSBbR2FsbGVyeVBlbmRpbmdVc2VyOjp1c2VyTmFtZV0gQVNDJzsKCglsaXN0ICgkcmV0LCAkc2VhcmNoUmVzdWx0cykgPSAkZ2FsbGVyeS0+c2VhcmNoKCRxdWVyeSwgJGRhdGEsCgkgICAgIGFycmF5KCdsaW1pdCcgPT4gYXJyYXkoJ2NvdW50JyA9PiAoaW50KSRjb3VudCwgJ29mZnNldCcgPT4gKGludCkkb2Zmc2V0KSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gYXJyYXkoJHJldCwgbnVsbCk7Cgl9CgoJJGRhdGEgPSBhcnJheSgpOwoJd2hpbGUgKCRyZXN1bHQgPSAkc2VhcmNoUmVzdWx0cy0+bmV4dFJlc3VsdCgpKSB7CgkgICAgJGRhdGFbJHJlc3VsdFswXV0gPSBhcnJheSgndXNlck5hbWUnID0+ICRyZXN1bHRbMV0sCgkJCQkgICAgICAnZnVsbE5hbWUnID0+ICRyZXN1bHRbMl0sCgkJCQkgICAgICAnZW1haWwnID0+ICRyZXN1bHRbM10sCgkJCQkgICAgICAnY3JlYXRpb25UaW1lc3RhbXAnID0+IChpbnQpJHJlc3VsdFs0XSk7Cgl9CgoJcmV0dXJuIGFycmF5KG51bGwsICRkYXRhKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNlbmQgYW4gZW1haWwgd2l0aCBhIGNvbmZpcm1hdGlvbiBsaW5rCiAgICAgKgogICAgICogQHBhcmFtIEdhbGxlcnlQZW5kaW5nVXNlciAkcGVuZGluZ1VzZXIKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRwbEZpbGUgKG9wdGlvbmFsKSBQYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIG9mIHRoZSBlbWFpbC4gRGVmYXVsdHMgdG8KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29uZmlybWF0aW9uRW1haWwudHBsJy4gCiAgICAgKiBAcGFyYW0gc3RyaW5nICRzdWJqZWN0UGFyYW0gKG9wdGlvbmFsKSBOYW1lIG9mIHRoZSBtb2R1bGUgcGFyYW1ldGVyIHRvIHVzZSBhcyBzdWJqZWN0IG9mIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1haWwuIERlZmF1bHRzIHRvICdzdWJqZWN0Jy4KICAgICAqIEBwYXJhbSBpbnQgJHVzZXJJZEZvckxvY2FsZSAob3B0aW9uYWwpIEdhbGxlcnlVc2VyIGlkIG9mIHRoZSByZWNpcGllbnQuIFVzZWQgdG8gZGV0ZXJtaW5lIHRoZQogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlIGZvciB0aGUgZW1haWwuCiAgICAgKiBAcmV0dXJuIEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICovCiAgICBmdW5jdGlvbiBzZW5kQ29uZmlybWF0aW9uRW1haWwoJiRwZW5kaW5nVXNlciwKCSAgICAkdHBsRmlsZT0nQ29uZmlybWF0aW9uRW1haWwudHBsJywgJHN1YmplY3RQYXJhbT0nc3ViamVjdCcsICR1c2VySWRGb3JMb2NhbGU9bnVsbCkgewoJZ2xvYmFsICRnYWxsZXJ5OwoKCWxpc3QgKCRyZXQsICRtb2R1bGUpID0gR2FsbGVyeUNvcmVBcGk6OmxvYWRQbHVnaW4oJ21vZHVsZScsICdyZWdpc3RlcicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCWxpc3QgKCRyZXQsICRwYXJhbXMpID0gR2FsbGVyeUNvcmVBcGk6OmZldGNoQWxsUGx1Z2luUGFyYW1ldGVycygnbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCSRkZWNvZGVkVXNlck5hbWUgPSAkcGVuZGluZ1VzZXItPmdldFVzZXJOYW1lKCk7CglHYWxsZXJ5VXRpbGl0aWVzOjp1bnNhbml0aXplSW5wdXRWYWx1ZXMoJGRlY29kZWRVc2VyTmFtZSwgZmFsc2UpOwoJJGdlbmVyYXRvciA9JiAkZ2FsbGVyeS0+Z2V0VXJsR2VuZXJhdG9yKCk7CgkkY29uZmlybWF0aW9uVXJsID0gJGdlbmVyYXRvci0+Z2VuZXJhdGVVcmwoCgkgICAgYXJyYXkoJ2NvbnRyb2xsZXInID0+ICdyZWdpc3Rlci5Db25maXJtUmVnaXN0cmF0aW9uJywKCQkgIC8qIEluY29taW5nIHVybCBwYXJhbXMgd2lsbCBnZXQgc2FuaXRpemVkLCBzbyBkZWNvZGUgaGVyZSAqLwoJCSAgJ3VzZXJuYW1lJyA9PiAkZGVjb2RlZFVzZXJOYW1lLAoJCSAgJ2tleScgPT4gJHBlbmRpbmdVc2VyLT5nZXRSZWdpc3RyYXRpb25LZXkoKSksCgkgICAgYXJyYXkoJ2ZvcmNlRnVsbFVybCcgPT4gdHJ1ZSwgJ2ZvcmNlU2Vzc2lvbklkJyA9PiBmYWxzZSwgJ2h0bWxFbnRpdGllcycgPT4gZmFsc2UpKTsKCSRiYXNlVXJsID0gJGdlbmVyYXRvci0+Z2VuZXJhdGVVcmwoYXJyYXkoKSwKCSAgICBhcnJheSgnZm9yY2VGdWxsVXJsJyA9PiB0cnVlLCAnZm9yY2VTZXNzaW9uSWQnID0+IGZhbHNlLCAnaHRtbEVudGl0aWVzJyA9PiBmYWxzZSkpOwoKCWlmIChpc3NldCgkdXNlcklkRm9yTG9jYWxlKSkgewoJICAgICR0cmFuc2xhdG9yID0mICRnYWxsZXJ5LT5nZXRUcmFuc2xhdG9yKCk7CgkgICAgJGN1cnJlbnRMYW5ndWFnZUNvZGUgPSAkdHJhbnNsYXRvci0+Z2V0QWN0aXZlTGFuZ3VhZ2VDb2RlKCk7CgkgICAgbGlzdCAoJHJldCwgJGxhbmd1YWdlKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaExhbmd1YWdlQ29kZUZvclVzZXIoJHVzZXJJZEZvckxvY2FsZSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9CgkgICAgaWYgKCRsYW5ndWFnZSAhPSAkY3VycmVudExhbmd1YWdlQ29kZSkgewoJCWxpc3QgKCRyZXQpID0gJHRyYW5zbGF0b3ItPmluaXQoJGxhbmd1YWdlKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gJHJldDsKCQl9CgkgICAgfQoJfQoKCSRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6c2VuZFRlbXBsYXRlZEVtYWlsKAoJCSdtb2R1bGVzL3JlZ2lzdGVyL3RlbXBsYXRlcy8nIC4gJHRwbEZpbGUsCgkJYXJyYXkoCgkJICAgICduYW1lJyA9PiAkcGVuZGluZ1VzZXItPmdldEZ1bGxOYW1lKCksCgkJICAgIC8qIFdlIHNlbmQgcGxhaW4gdGV4dCBlbWFpbCBzbyBkZWNvZGUgZW50aXRpZXMgaW4gdXNlcm5hbWUgKi8KCQkgICAgJ3VzZXJuYW1lJyA9PiAkZGVjb2RlZFVzZXJOYW1lLAoJCSAgICAnY29uZmlybWF0aW9uVXJsJyA9PiAkY29uZmlybWF0aW9uVXJsLAoJCSAgICAnYmFzZVVybCcgPT4gJGJhc2VVcmwsCgkJICAgICdsMTBEb21haW4nID0+ICdtb2R1bGVzX3JlZ2lzdGVyJyksCgkJJHBhcmFtc1snZnJvbSddLAoJCSRwZW5kaW5nVXNlci0+Z2V0RW1haWwoKSwKCQkkbW9kdWxlLT50cmFuc2xhdGUoJHBhcmFtc1skc3ViamVjdFBhcmFtXSkpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCglpZiAoaXNzZXQoJHVzZXJJZEZvckxvY2FsZSkgJiYgJGxhbmd1YWdlICE9ICRjdXJyZW50TGFuZ3VhZ2VDb2RlKSB7CgkgICAgbGlzdCAoJHJldCkgPSAkdHJhbnNsYXRvci0+aW5pdCgkY3VycmVudExhbmd1YWdlQ29kZSk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZW5kIG5vdGlmaWNhdGlvbiBlbWFpbCB0byBzaXRlIGFkbWluaXN0cmF0b3JzCiAgICAgKgogICAgICogQHBhcmFtIEdhbGxlcnlQZW5kaW5nVXNlciAkcGVuZGluZ1VzZXIKICAgICAqIEByZXR1cm4gR2FsbGVyeVN0YXR1cyBhIHN0YXR1cyBjb2RlCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNlbmRBZG1pbkVtYWlsKCYkcGVuZGluZ1VzZXIpIHsKCWdsb2JhbCAkZ2FsbGVyeTsKCglsaXN0ICgkcmV0LCAkbW9kdWxlKSA9IEdhbGxlcnlDb3JlQXBpOjpsb2FkUGx1Z2luKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CglsaXN0ICgkcmV0LCAkcGFyYW1zKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaEFsbFBsdWdpblBhcmFtZXRlcnMoJ21vZHVsZScsICdyZWdpc3RlcicpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCWxpc3QgKCRyZXQsICRhZG1pbkdyb3VwSWQpID0KCSAgICBHYWxsZXJ5Q29yZUFwaTo6Z2V0UGx1Z2luUGFyYW1ldGVyKCdtb2R1bGUnLCAnY29yZScsICdpZC5hZG1pbkdyb3VwJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJbGlzdCAoJHJldCwgJGFkbWluVXNlcklkcykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hVc2Vyc0Zvckdyb3VwKCRhZG1pbkdyb3VwSWQpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCWxpc3QgKCRyZXQsICRhZG1pblVzZXJzKSA9CgkgICAgR2FsbGVyeUNvcmVBcGk6OmxvYWRFbnRpdGllc0J5SWQoYXJyYXlfa2V5cygkYWRtaW5Vc2VySWRzKSwgJ0dhbGxlcnlVc2VyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJJHRvTGlzdCA9ICRsYW5ndWFnZUNvZGVMaXN0ID0gYXJyYXkoKTsKCWZvcmVhY2ggKCRhZG1pblVzZXJzIGFzICRhZG1pbikgewoJICAgICRlbWFpbCA9ICRhZG1pbi0+Z2V0RW1haWwoKTsKCSAgICBpZiAoIWVtcHR5KCRlbWFpbCkpIHsKCQkkdG9MaXN0W10gPSAkZW1haWw7CgkJbGlzdCAoJHJldCwgJGxhbmd1YWdlKSA9IEdhbGxlcnlDb3JlQXBpOjpmZXRjaExhbmd1YWdlQ29kZUZvclVzZXIoJGFkbWluLT5nZXRJZCgpKTsKCQlpZiAoJHJldCkgewoJCSAgICByZXR1cm4gJHJldDsKCQl9CgkJJGxhbmd1YWdlQ29kZUxpc3RbXSA9ICRsYW5ndWFnZTsKCSAgICB9Cgl9CgoJaWYgKCFlbXB0eSgkdG9MaXN0KSkgewoJICAgIGxpc3QgKCRyZXQsICRkZWZhdWx0TGFuZ3VhZ2VDb2RlKSA9ICRnYWxsZXJ5LT5nZXRBY3RpdmVMYW5ndWFnZUNvZGUoKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiAkcmV0OwoJICAgIH0KCSAgICAkY3VycmVudExhbmd1YWdlQ29kZSA9ICRkZWZhdWx0TGFuZ3VhZ2VDb2RlOwoJICAgICR0cmFuc2xhdG9yID0mICRnYWxsZXJ5LT5nZXRUcmFuc2xhdG9yKCk7CgoJICAgICRkZWNvZGVkVXNlck5hbWUgPSAkcGVuZGluZ1VzZXItPmdldFVzZXJOYW1lKCk7CgkgICAgR2FsbGVyeVV0aWxpdGllczo6dW5zYW5pdGl6ZUlucHV0VmFsdWVzKCRkZWNvZGVkVXNlck5hbWUsIGZhbHNlKTsKCSAgICBmb3JlYWNoICgkdG9MaXN0IGFzICRpbmRleCA9PiAkdG8pIHsKCQkvKiBSZWluaXRpYWxpemUgdHJhbnNsYXRvciB3aXRoIHRoZSBwcmVmZXJyZWQgbGFuZ3VhZ2Ugb2YgYWRtaW4gd2hlcmUgbmVlZGVkICovCgkJaWYgKCRjdXJyZW50TGFuZ3VhZ2VDb2RlICE9ICRsYW5ndWFnZUNvZGVMaXN0WyRpbmRleF0pIHsKCQkgICAgbGlzdCAoJHJldCwgJGN1cnJlbnRMYW5ndWFnZUNvZGUpID0KCQkJJHRyYW5zbGF0b3ItPmluaXQoJGxhbmd1YWdlQ29kZUxpc3RbJGluZGV4XSk7CgkJICAgIGlmICgkcmV0KSB7CgkJCWlmICgkZGVmYXVsdExhbmd1YWdlQ29kZSAhPSAkbGFuZ3VhZ2VDb2RlTGlzdFskaW5kZXhdKSB7CgkJCSAgICBsaXN0ICgkcmV0MikgPSAkdHJhbnNsYXRvci0+aW5pdCgkZGVmYXVsdExhbmd1YWdlQ29kZSk7CgkJCSAgICBpZiAoJHJldDIpIHsKCQkJCXJldHVybiAkcmV0MjsKCQkJICAgIH0KCQkJfQoJCQlyZXR1cm4gJHJldDsKCQkgICAgfQoJCX0KCQkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnNlbmRUZW1wbGF0ZWRFbWFpbCgKCQkJJ21vZHVsZXMvcmVnaXN0ZXIvdGVtcGxhdGVzL0FkbWluRW1haWwudHBsJywKCQkJYXJyYXkoJ25hbWUnID0+ICRwZW5kaW5nVXNlci0+Z2V0RnVsbE5hbWUoKSwKCQkJICAgICAgLyogV2Ugc2VuZCBwbGFpbiB0ZXh0IGVtYWlsIHNvIGRlY29kZSBlbnRpdGllcyBpbiB1c2VybmFtZSAqLwoJCQkgICAgICAndXNlcm5hbWUnID0+ICRkZWNvZGVkVXNlck5hbWUsCgkJCSAgICAgICdlbWFpbCcgPT4gJHBlbmRpbmdVc2VyLT5nZXRFbWFpbCgpLAoJCQkgICAgICAnbDEwRG9tYWluJyA9PiAnbW9kdWxlc19yZWdpc3RlcicpLAoJCQkkcGFyYW1zWydmcm9tJ10sCgkJCSR0bywKCQkJJG1vZHVsZS0+dHJhbnNsYXRlKCRwYXJhbXNbJ2FkbWluc3ViamVjdCddKSk7CgkJaWYgKCRyZXQpIHsKCQkgICAgaWYgKCRkZWZhdWx0TGFuZ3VhZ2VDb2RlICE9ICRjdXJyZW50TGFuZ3VhZ2VDb2RlKSB7CgkJCWxpc3QgKCRyZXQyLCAkY3VycmVudExhbmd1YWdlQ29kZSkgPQoJCQkgICAgJHRyYW5zbGF0b3ItPmluaXQoJGRlZmF1bHRMYW5ndWFnZUNvZGUpOwoJCQlpZiAoJHJldDIpIHsKCQkJICAgIHJldHVybiAkcmV0MjsKCQkJfQoJCSAgICB9CgkJICAgIHJldHVybiAkcmV0OwoJCX0KCSAgICB9CgkgICAgaWYgKCRkZWZhdWx0TGFuZ3VhZ2VDb2RlICE9ICRjdXJyZW50TGFuZ3VhZ2VDb2RlKSB7CgkJbGlzdCAoJHJldCwgJGN1cnJlbnRMYW5ndWFnZUNvZGUpID0gJHRyYW5zbGF0b3ItPmluaXQoJGRlZmF1bHRMYW5ndWFnZUNvZGUpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiAkcmV0OwoJCX0KCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgR2FsbGVyeVVzZXIgZnJvbSBHYWxsZXJ5UGVuZGluZ1VzZXIKICAgICAqCiAgICAgKiBAcGFyYW0gR2FsbGVyeVBlbmRpbmdVc2VyICRwZW5kaW5nVXNlcgogICAgICogQHBhcmFtIGJvb2xlYW4gJGRlbGV0ZSBpZiB0cnVlIGRlbGV0ZSB0aGUgR2FsbGVyeVBlbmRpbmdVc2VyCiAgICAgKiBAcmV0dXJuIEdhbGxlcnlTdGF0dXMgYSBzdGF0dXMgY29kZQogICAgICovCiAgICBmdW5jdGlvbiBjcmVhdGVHYWxsZXJ5VXNlcigmJHBlbmRpbmdVc2VyLCAkZGVsZXRlPXRydWUpIHsKCWxpc3QgKCRyZXQsICR1c2VyKSA9IEdhbGxlcnlDb3JlQXBpOjpuZXdGYWN0b3J5SW5zdGFuY2UoJ0dhbGxlcnlFbnRpdHknLCAnR2FsbGVyeVVzZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CglpZiAoIWlzc2V0KCR1c2VyKSkgewoJICAgIHJldHVybiBHYWxsZXJ5Q29yZUFwaTo6ZXJyb3IoRVJST1JfTUlTU0lOR19PQkpFQ1QpOwoJfQoKCSRyZXQgPSAkdXNlci0+Y3JlYXRlKCRwZW5kaW5nVXNlci0+Z2V0VXNlck5hbWUoKSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCS8qIENvcHkgYWxsIHZhbHVlcyB0byB0aGUgbmV3ICJyZWFsIiB1c2VyICovCgkkdXNlci0+c2V0RW1haWwoJHBlbmRpbmdVc2VyLT5nZXRFbWFpbCgpKTsKCSR1c2VyLT5zZXRGdWxsTmFtZSgkcGVuZGluZ1VzZXItPmdldEZ1bGxOYW1lKCkpOwoJJHVzZXItPnNldExhbmd1YWdlKCRwZW5kaW5nVXNlci0+Z2V0TGFuZ3VhZ2UoKSk7CgkkdXNlci0+c2V0SGFzaGVkUGFzc3dvcmQoJHBlbmRpbmdVc2VyLT5nZXRIYXNoZWRQYXNzd29yZCgpKTsKCgkkcmV0ID0gJHVzZXItPnNhdmUoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJLyogU2VuZCB3ZWxjb21lIGVtYWlsIGlmIHNlbGVjdGVkIGluIG1vZHVsZSBzZXR0aW5ncyAqLwoJbGlzdCAoJHJldCwgJHNlbmRFbWFpbCkgPQoJICAgIEdhbGxlcnlDb3JlQXBpOjpnZXRQbHVnaW5QYXJhbWV0ZXIoJ21vZHVsZScsICdyZWdpc3RlcicsICdlbWFpbHVzZXJzJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoJaWYgKCRzZW5kRW1haWwpIHsKCSAgICAkcmV0ID0gR2FsbGVyeVBlbmRpbmdVc2VySGVscGVyOjpzZW5kQ29uZmlybWF0aW9uRW1haWwoJHBlbmRpbmdVc2VyLAoJCSAgICAnV2VsY29tZUVtYWlsLnRwbCcsICd1c2Vyc3ViamVjdCcsICR1c2VyLT5nZXRJZCgpKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiAkcmV0OwoJICAgIH0KCX0KCgkvKiBOb3RpZnkgZ2FsbGVyeSBldmVudCBzeXN0ZW0gKi8KCSRldmVudCA9IEdhbGxlcnlDb3JlQXBpOjpuZXdFdmVudCgnR2FsbGVyeVBlbmRpbmdVc2VyOjpjcmVhdGVHYWxsZXJ5VXNlcicpOwoJJGV2ZW50LT5zZXRFbnRpdHkoJHBlbmRpbmdVc2VyKTsKCWxpc3QgKCRyZXQpID0gR2FsbGVyeUNvcmVBcGk6OnBvc3RFdmVudCgkZXZlbnQpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gICRyZXQ7Cgl9CgoJaWYgKCRkZWxldGUpIHsKCSAgICBsaXN0ICgkcmV0LCAkbG9jaykgPSBHYWxsZXJ5Q29yZUFwaTo6YWNxdWlyZVdyaXRlTG9jayhhcnJheSgkcGVuZGluZ1VzZXItPmdldElkKCkpKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiAkcmV0OwoJICAgIH0KCgkgICAgJHJldCA9ICRwZW5kaW5nVXNlci0+ZGVsZXRlKCk7CgkgICAgaWYgKCRyZXQpIHsKCQlyZXR1cm4gJHJldDsKCSAgICB9CgoJICAgICRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6cmVsZWFzZUxvY2tzKCRsb2NrKTsKCSAgICBpZiAoJHJldCkgewoJCXJldHVybiAkcmV0OwoJICAgIH0KCX0KCglyZXR1cm4gbnVsbDsKICAgIH0KfQo/Pgo=');
expand_e4d29fcbda($outputDir, 'classes/GalleryStorage/GNUmakefile', 'aW5jbHVkZSAuLi8uLi8uLi8uLi9saWIvdG9vbHMvYmluL0dOVW1ha2VmaWxlLkdhbGxlcnlTdG9yYWdlCg==');
expand_e4d29fcbda($outputDir, 'classes/GalleryStorage/schema.tpl', 'IyMgbXlzcWwKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIGludCgxMSkgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUgdmFyY2hhcigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgdmFyY2hhcigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIHZhcmNoYXIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCB2YXJjaGFyKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgdmFyY2hhcigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSB2YXJjaGFyKDMyKSwKIFBSSU1BUlkgS0VZKERCX0NPTFVNTl9QUkVGSVhpZCksCiBVTklRVUUgKERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSkKKSBEQl9UQUJMRV9UWVBFCi8qITQwMTAwIERFRkFVTFQgQ0hBUkFDVEVSIFNFVCB1dGY4ICovOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgcG9zdGdyZXMKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIElOVEVHRVIgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUgVkFSQ0hBUigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCBWQVJDSEFSKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBWQVJDSEFSKDMyKQopOwoKQUxURVIgVEFCTEUgREJfVEFCTEVfUFJFRklYUGVuZGluZ1VzZXIgQUREIFBSSU1BUlkgS0VZIChEQl9DT0xVTU5fUFJFRklYaWQpOwoKQ1JFQVRFIFVOSVFVRSBJTkRFWCBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcl8xNjIzMyBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgb3JhY2xlCiMgR2FsbGVyeVBlbmRpbmdVc2VyCkNSRUFURSBUQUJMRSBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcigKIERCX0NPTFVNTl9QUkVGSVhpZCBJTlRFR0VSIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHVzZXJOYW1lIFZBUkNIQVIyKDMyKSBOT1QgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVhmdWxsTmFtZSBWQVJDSEFSMigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIFZBUkNIQVIyKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYZW1haWwgVkFSQ0hBUjIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhsYW5ndWFnZSBWQVJDSEFSMigxMjgpLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBWQVJDSEFSMigzMikKKTsKCkFMVEVSIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyCiBBREQgUFJJTUFSWSBLRVkgKERCX0NPTFVNTl9QUkVGSVhpZCkKIEFERCBVTklRVUUgKERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSkKOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgZGIyCiMgR2FsbGVyeVBlbmRpbmdVc2VyCkNSRUFURSBUQUJMRSBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcigKIERCX0NPTFVNTl9QUkVGSVhpZCBJTlRFR0VSIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHVzZXJOYW1lIFZBUkNIQVIoMzIpIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWGZ1bGxOYW1lIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhoYXNoZWRQYXNzd29yZCBWQVJDSEFSKDEyOCksCiBEQl9DT0xVTU5fUFJFRklYZW1haWwgVkFSQ0hBUigxMjgpLAogREJfQ09MVU1OX1BSRUZJWGxhbmd1YWdlIFZBUkNIQVIoMTI4KSwKIERCX0NPTFVNTl9QUkVGSVhyZWdpc3RyYXRpb25LZXkgVkFSQ0hBUigzMikKKTsKCkFMVEVSIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyIEFERCBQUklNQVJZIEtFWSAoREJfQ09MVU1OX1BSRUZJWGlkKTsKCkNSRUFURSBVTklRVUUgSU5ERVggREJfVEFCTEVfUFJFRklYUGVuZGk1NV8xNjIzMyAgCiBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgbXNzcWwKIyBHYWxsZXJ5UGVuZGluZ1VzZXIKQ1JFQVRFIFRBQkxFIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKAogREJfQ09MVU1OX1BSRUZJWGlkIElOVCBOT1QgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSBOVkFSQ0hBUigzMikgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgTlZBUkNIQVIoMTI4KSBOVUxMLAogREJfQ09MVU1OX1BSRUZJWGhhc2hlZFBhc3N3b3JkIE5WQVJDSEFSKDEyOCkgTlVMTCwKIERCX0NPTFVNTl9QUkVGSVhlbWFpbCBOVkFSQ0hBUigxMjgpIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgTlZBUkNIQVIoMTI4KSBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHJlZ2lzdHJhdGlvbktleSBOVkFSQ0hBUigzMikgTlVMTAopOwoKQUxURVIgVEFCTEUgREJfVEFCTEVfUFJFRklYUGVuZGluZ1VzZXIgQUREIFBSSU1BUlkgS0VZIChEQl9DT0xVTU5fUFJFRklYaWQpOwoKQ1JFQVRFIFVOSVFVRSBJTkRFWCBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcl8xNjIzMyBPTiBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcihEQl9DT0xVTU5fUFJFRklYdXNlck5hbWUpOwoKSU5TRVJUIElOVE8gREJfVEFCTEVfUFJFRklYU2NoZW1hICgKIERCX0NPTFVNTl9QUkVGSVhuYW1lLAogREJfQ09MVU1OX1BSRUZJWG1ham9yLAogREJfQ09MVU1OX1BSRUZJWG1pbm9yCikgVkFMVUVTKCdQZW5kaW5nVXNlcicsIDEsIDApOwoKIyMgc3FsaXRlCiMgR2FsbGVyeVBlbmRpbmdVc2VyCkNSRUFURSBUQUJMRSBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcigKIERCX0NPTFVNTl9QUkVGSVhpZCBJTlRFR0VSIE5PVCBOVUxMLAogREJfQ09MVU1OX1BSRUZJWHVzZXJOYW1lIFRFWFQgTk9UIE5VTEwsCiBEQl9DT0xVTU5fUFJFRklYZnVsbE5hbWUgVEVYVCwKIERCX0NPTFVNTl9QUkVGSVhoYXNoZWRQYXNzd29yZCBURVhULAogREJfQ09MVU1OX1BSRUZJWGVtYWlsIFRFWFQsCiBEQl9DT0xVTU5fUFJFRklYbGFuZ3VhZ2UgVEVYVCwKIERCX0NPTFVNTl9QUkVGSVhyZWdpc3RyYXRpb25LZXkgVEVYVAopOwoKQ1JFQVRFIFVOSVFVRSBJTkRFWCBEQl9UQUJMRV9QUkVGSVhQZW5kaW5nVXNlcl9wa2V5IE9OIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKERCX0NPTFVNTl9QUkVGSVhpZCk7CgpDUkVBVEUgVU5JUVVFIElOREVYIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyXzE2MjMzIE9OIERCX1RBQkxFX1BSRUZJWFBlbmRpbmdVc2VyKERCX0NPTFVNTl9QUkVGSVh1c2VyTmFtZSk7CgpJTlNFUlQgSU5UTyBEQl9UQUJMRV9QUkVGSVhTY2hlbWEgKAogREJfQ09MVU1OX1BSRUZJWG5hbWUsCiBEQl9DT0xVTU5fUFJFRklYbWFqb3IsCiBEQl9DT0xVTU5fUFJFRklYbWlub3IKKSBWQUxVRVMoJ1BlbmRpbmdVc2VyJywgMSwgMCk7Cgo=');
expand_e4d29fcbda($outputDir, 'classes/RegisterCaptchaAdminOption.class', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogQ2FwdGNoYSBjb25maWd1cmF0aW9uIGZvciByZWdpc3RlciBtb2R1bGUuCiAqIEBwYWNrYWdlIFJlZ2lzdHJhdGlvbgogKiBAc3VicGFja2FnZSBDbGFzc2VzCiAqIEBhdXRob3IgQWxhbiBIYXJkZXIgPGFsYW4uaGFyZGVyQHN1bi5jb20+CiAqIEB2ZXJzaW9uICRSZXZpc2lvbjogMTc1ODAgJAogKi8KY2xhc3MgUmVnaXN0ZXJDYXB0Y2hhQWRtaW5PcHRpb24gZXh0ZW5kcyBDYXB0Y2hhQWRtaW5PcHRpb24gewogICAgLyoqCiAgICAgKiBAc2VlIENhcHRjaGFBZG1pbk9wdGlvbjo6Z2V0T3B0aW9uRGF0YQogICAgICovCiAgICBmdW5jdGlvbiBnZXRPcHRpb25EYXRhKCkgewoJbGlzdCAoJHJldCwgJG1vZHVsZSkgPSBHYWxsZXJ5Q29yZUFwaTo6bG9hZFBsdWdpbignbW9kdWxlJywgJ3JlZ2lzdGVyJyk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsLCBudWxsLCBudWxsKTsKCX0KCS8qIE5vdGU6IHdlIHVzZSB2YWxpZGF0aW9uLmxldmVsIGZvciBhbGwgcGx1Z2lucywgYnV0IGNvbmZpZyBpcyB2aWEgY2FwdGNoYSBtb2R1bGUgKi8KCXJldHVybiBhcnJheShudWxsLCAkbW9kdWxlLT50cmFuc2xhdGUoJ1JlZ2lzdHJhdGlvbicpLAoJCSAgICAgYXJyYXkoJ21vZHVsZScsICdyZWdpc3RlcicsICd2YWxpZGF0aW9uLmxldmVsJyksCgkJICAgICBhcnJheSgnSElHSCcsICdPRkYnKSk7CiAgICB9Cn0KPz4K');
expand_e4d29fcbda($outputDir, 'module.inc', 'PD9waHAKLyoKICogR2FsbGVyeSAtIGEgd2ViIGJhc2VkIHBob3RvIGFsYnVtIHZpZXdlciBhbmQgZWRpdG9yCiAqIENvcHlyaWdodCAoQykgMjAwMC0yMDA4IEJoYXJhdCBNZWRpcmF0dGEKICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0CiAqIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KICovCgovKioKICogVGhlIHNlbGYtcmVnaXN0cmF0aW9uIG1vZHVsZQogKgogKiBAcGFja2FnZSBSZWdpc3RyYXRpb24KICogQGF1dGhvciBTZWJhc3RpYW4gRWljaG5lciA8bWFpbHNwQHNlYmFzdGlhbi1laWNobmVyLmRlPgogKiBAdmVyc2lvbiAkUmV2aXNpb246IDE4MTcyICQKICovCmNsYXNzIFJlZ2lzdGVyTW9kdWxlIGV4dGVuZHMgR2FsbGVyeU1vZHVsZSB7CgogICAgZnVuY3Rpb24gUmVnaXN0ZXJNb2R1bGUoKSB7CglnbG9iYWwgJGdhbGxlcnk7CgoJJHRoaXMtPnNldElkKCdyZWdpc3RlcicpOwoJJHRoaXMtPnNldE5hbWUoJGdhbGxlcnktPmkxOG4oJ1JlZ2lzdHJhdGlvbicpKTsKCSR0aGlzLT5zZXREZXNjcmlwdGlvbigkZ2FsbGVyeS0+aTE4bignTmV3IFVzZXIgUmVnaXN0cmF0aW9uJykpOwoJJHRoaXMtPnNldFZlcnNpb24oJzEuMC4xNCcpOwoJJHRoaXMtPl90ZW1wbGF0ZVZlcnNpb24gPSAxOwoJJHRoaXMtPnNldEdyb3VwKCdnYWxsZXJ5JywgJGdhbGxlcnktPmkxOG4oJ0dhbGxlcnknKSk7CgkkdGhpcy0+c2V0Q2FsbGJhY2tzKCdnZXRTeXN0ZW1MaW5rc3xnZXRVc2VyQWRtaW5WaWV3c3xnZXRTaXRlQWRtaW5WaWV3cycpOwoJJHRoaXMtPnNldFJlcXVpcmVkQ29yZUFwaShhcnJheSg3LCAzNSkpOwoJJHRoaXMtPnNldFJlcXVpcmVkTW9kdWxlQXBpKGFycmF5KDMsIDYpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6dXBncmFkZQogICAgICovCiAgICBmdW5jdGlvbiB1cGdyYWRlKCRjdXJyZW50VmVyc2lvbikgewoJbGlzdCAoJHJldCwgJHBhcmFtcykgPSBHYWxsZXJ5Q29yZUFwaTo6ZmV0Y2hBbGxQbHVnaW5QYXJhbWV0ZXJzKCdtb2R1bGUnLCAncmVnaXN0ZXInKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuICRyZXQ7Cgl9CgoJZm9yZWFjaCAoYXJyYXkoJ2NvbmZpcm1hdGlvbicgPT4gJ2FkbWluJywgJ2VtYWlsYWRtaW5zJyA9PiAxLCAnZW1haWx1c2VycycgPT4gMSwKCQkgICAgICAgJ3N1YmplY3QnID0+ICR0aGlzLT50cmFuc2xhdGUoJ0FjY291bnQgYWN0aXZhdGlvbicpLAoJCSAgICAgICAnYWRtaW5zdWJqZWN0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdOZXcgdXNlciByZWdpc3RyYXRpb24nKSwKCQkgICAgICAgJ3VzZXJzdWJqZWN0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdXZWxjb21lIHRvIEdhbGxlcnknKSwKCQkgICAgICAgJ2Zyb20nID0+ICd3ZWJtYXN0ZXJAJyAuIEdhbGxlcnlVdGlsaXRpZXM6OmdldFNlcnZlclZhcignU0VSVkVSX05BTUUnKSwKCQkgICAgICAgJ3ZhbGlkYXRpb24ubGV2ZWwnID0+ICdISUdIJykKCQlhcyAka2V5ID0+ICR2YWx1ZSkgewoJICAgIGlmICghaXNzZXQoJHBhcmFtc1ska2V5XSkpIHsKCQkkcmV0ID0gJHRoaXMtPnNldFBhcmFtZXRlcigka2V5LCAkdmFsdWUpOwoJCWlmICgkcmV0KSB7CgkJICAgIHJldHVybiAkcmV0OwoJCX0KCSAgICB9Cgl9CgoJcmV0dXJuIG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBAc2VlIEdhbGxlcnlNb2R1bGU6OnBlcmZvcm1GYWN0b3J5UmVnaXN0cmF0aW9ucwogICAgICovCiAgICBmdW5jdGlvbiBwZXJmb3JtRmFjdG9yeVJlZ2lzdHJhdGlvbnMoKSB7CgkkcmV0ID0gR2FsbGVyeUNvcmVBcGk6OnJlZ2lzdGVyRmFjdG9yeUltcGxlbWVudGF0aW9uKAoJICAgICdHYWxsZXJ5RW50aXR5JywgJ0dhbGxlcnlQZW5kaW5nVXNlcicsICdHYWxsZXJ5UGVuZGluZ1VzZXInLAoJICAgICdtb2R1bGVzL3JlZ2lzdGVyL2NsYXNzZXMvR2FsbGVyeVBlbmRpbmdVc2VyLmNsYXNzJywgJ3JlZ2lzdGVyJywgbnVsbCk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiAkcmV0OwoJfQoKCSRyZXQgPSBHYWxsZXJ5Q29yZUFwaTo6cmVnaXN0ZXJGYWN0b3J5SW1wbGVtZW50YXRpb24oCgkgICAgJ0NhcHRjaGFBZG1pbk9wdGlvbicsICdSZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbicsICdSZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbicsCgkgICAgJ21vZHVsZXMvcmVnaXN0ZXIvY2xhc3Nlcy9SZWdpc3RlckNhcHRjaGFBZG1pbk9wdGlvbi5jbGFzcycsICdyZWdpc3RlcicsIG51bGwpOwoJaWYgKCRyZXQpIHsKCSAgICByZXR1cm4gJHJldDsKCX0KCglyZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0TW9kdWxlRW50aXR5VHlwZXMKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0TW9kdWxlRW50aXR5VHlwZXMoKSB7CglyZXR1cm4gYXJyYXkoJ0dhbGxlcnlQZW5kaW5nVXNlcicpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRTeXN0ZW1MaW5rcwogICAgICovCiAgICBmdW5jdGlvbiBnZXRTeXN0ZW1MaW5rcygpIHsKCSRsaW5rcyA9IGFycmF5KCk7CgoJbGlzdCAoJHJldCwgJGlzQW5vbnltb3VzKSA9IEdhbGxlcnlDb3JlQXBpOjppc0Fub255bW91c1VzZXIoKTsKCWlmICgkcmV0KSB7CgkgICAgcmV0dXJuIGFycmF5KCRyZXQsIG51bGwpOwoJfQoJaWYgKCRpc0Fub255bW91cykgewoJICAgICRsaW5rc1snUmVnaXN0ZXInXSA9IGFycmF5KAoJCSd0ZXh0JyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdSZWdpc3RlcicpLAoJCSdwYXJhbXMnID0+IGFycmF5KCd2aWV3JyA9PiAnY29yZS5Vc2VyQWRtaW4nLAoJCQkJICAnc3ViVmlldycgPT4gJ3JlZ2lzdGVyLlVzZXJTZWxmUmVnaXN0cmF0aW9uJywKCQkJCSAgJ3JldHVybicgPT4gMSkpOwoJfQoKCXJldHVybiBhcnJheShudWxsLCAkbGlua3MpOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBHYWxsZXJ5TW9kdWxlOjpnZXRVc2VyQWRtaW5WaWV3cwogICAgICovCiAgICBmdW5jdGlvbiBnZXRVc2VyQWRtaW5WaWV3cygkdXNlcikgewoJJHZpZXdzID0gYXJyYXkoKTsKCglsaXN0ICgkcmV0LCAkaXNBbm9ueW1vdXMpID0gR2FsbGVyeUNvcmVBcGk6OmlzQW5vbnltb3VzVXNlcigkdXNlci0+Z2V0SWQoKSk7CglpZiAoJHJldCkgewoJICAgIHJldHVybiBhcnJheSgkcmV0LCBudWxsKTsKCX0KCWlmICgkaXNBbm9ueW1vdXMpIHsKCSAgICAkdmlld3NbXSA9IGFycmF5KCduYW1lJyA9PiAkdGhpcy0+dHJhbnNsYXRlKCdSZWdpc3RlcicpLAoJCQkgICAgICd2aWV3JyA9PiAncmVnaXN0ZXIuVXNlclNlbGZSZWdpc3RyYXRpb24nKTsKCX0KCglyZXR1cm4gYXJyYXkobnVsbCwgJHZpZXdzKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgR2FsbGVyeU1vZHVsZTo6Z2V0U2l0ZUFkbWluVmlld3MKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0U2l0ZUFkbWluVmlld3MoKSB7CglyZXR1cm4gYXJyYXkobnVsbCwgYXJyYXkoYXJyYXkoJ25hbWUnID0+ICR0aGlzLT50cmFuc2xhdGUoJ1JlZ2lzdHJhdGlvbicpLAoJCQkJICAgICAgICd2aWV3JyA9PiAncmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uJykpKTsKICAgIH0KfQo/Pgo=');
expand_e4d29fcbda($outputDir, 'po/GNUmakefile', 'R0FMTEVSWURJUiA/PSAuLi8uLi8uLgpUT09MRElSID89ICQoR0FMTEVSWURJUikvbGliL3Rvb2xzCgppbmNsdWRlICQoVE9PTERJUikvcG8vR05VbWFrZWZpbGUuaW5jCgo=');
expand_e4d29fcbda($outputDir, 'po/strings.raw', 'IyAkSWQ6IHN0cmluZ3MucmF3IDE3MDI4IDIwMDctMDktMDMgMjI6MDg6MzZaIG1pbmRsZXNzICQKCi8qIEFkbWluU2VsZlJlZ2lzdHJhdGlvbi5pbmMgKi8KZ2V0dGV4dCgiQWN0aXZhdGlvbiBieSBhZG1pbmlzdHJhdG9yIikKZ2V0dGV4dCgiVXNlIGNvbmZpcm1hdGlvbiBlbWFpbHMiKQpnZXR0ZXh0KCJBY2NlcHQgd2l0aG91dCBjb25maXJtYXRpb24iKQpnZXR0ZXh0KCJZZXMiKQpnZXR0ZXh0KCJObyIpCgovKiBtb2R1bGUuaW5jICovCmdldHRleHQoIlJlZ2lzdHJhdGlvbiIpIC8qIGFsc28gaW46IGNsYXNzZXMvUmVnaXN0ZXJDYXB0Y2hhQWRtaW5PcHRpb24uY2xhc3MgKi8KZ2V0dGV4dCgiTmV3IFVzZXIgUmVnaXN0cmF0aW9uIikKZ2V0dGV4dCgiR2FsbGVyeSIpCmdldHRleHQoIkFjY291bnQgYWN0aXZhdGlvbiIpCmdldHRleHQoIk5ldyB1c2VyIHJlZ2lzdHJhdGlvbiIpCmdldHRleHQoIldlbGNvbWUgdG8gR2FsbGVyeSIpCmdldHRleHQoIlJlZ2lzdGVyIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL1VzZXJTZWxmUmVnaXN0cmF0aW9uLnRwbCAqLwoKLyogdGVtcGxhdGVzL0FkbWluRW1haWwudHBsICovCmdldHRleHQoIk5ldyB1c2VyIHJlZ2lzdHJhdGlvbjoiKQpnZXR0ZXh0KCIgICAgVXNlcm5hbWU6ICVzIikKZ2V0dGV4dCgiICAgRnVsbCBuYW1lOiAlcyIpCmdldHRleHQoIiAgICAgICBFbWFpbDogJXMiKQpnZXR0ZXh0KCJBY3RpdmF0ZSBvciBkZWxldGUgdGhpcyB1c2VyIGhlcmUiKQoKLyogdGVtcGxhdGVzL0FkbWluU2VsZlJlZ2lzdHJhdGlvbi50cGwgKi8KZ2V0dGV4dCgiUmVnaXN0cmF0aW9uIFNldHRpbmdzIikKZ2V0dGV4dCgiU2V0dGluZ3Mgc2F2ZWQgc3VjY2Vzc2Z1bGx5IikKZ2V0dGV4dCgiQWN0aXZhdGVkIHVzZXIgJXMiKQpnZXR0ZXh0KCJEZWxldGVkIHVzZXIgJXMiKQpnZXR0ZXh0KCJDb25maXJtYXRpb24gUG9saWN5IikKZ2V0dGV4dCgiVGhlIFJlZ2lzdHJhdGlvbiBtb2R1bGUgY2FuIGFjY2VwdCBuZXcgdXNlciByZWdpc3RyYXRpb25zIGluc3RhbnRseSwgcmVxdWlyZSB0aGUgdXNlciB0byBjbGljayBhIGNvbmZpcm1hdGlvbiBsaW5rIGluIGFuIGVtYWlsIHRoYXQgaXMgc2VudCBieSB0aGUgbW9kdWxlLCBvciByZXF1aXJlIGFjY291bnQgYWN0aXZhdGlvbiBieSBhIHNpdGUgYWRtaW5pc3RyYXRvci4iKQpnZXR0ZXh0KCJDaG9vc2UgcG9saWN5OiIpCmdldHRleHQoIkVtYWlsIGRldGFpbHMiKQpnZXR0ZXh0KCJTZW5kZXIoRnJvbSkgRW1haWwgQWRkcmVzczoiKQpnZXR0ZXh0KCJDb25maXJtYXRpb24gRW1haWwgU3ViamVjdDoiKQpnZXR0ZXh0KCJFbWFpbCBTaXRlIEFkbWluaXN0cmF0b3JzIGZvciBhbGwgbmV3IHJlZ2lzdHJhdGlvbnMiKQpnZXR0ZXh0KCJBZG1pbiBFbWFpbCBTdWJqZWN0OiIpCmdldHRleHQoIkVtYWlsIG5ldyB1c2VycyB1cG9uIGFjY291bnQgYWN0aXZhdGlvbiIpCmdldHRleHQoIldlbGNvbWUgRW1haWwgU3ViamVjdDoiKQpnZXR0ZXh0KCJTYXZlIikKZ2V0dGV4dCgiUmVzZXQiKQpnZXR0ZXh0KCJQZW5kaW5nIFJlZ2lzdHJhdGlvbnMiKQpnZXR0ZXh0KCImbGFxdW87IGZpcnN0IikKZ2V0dGV4dCgiJmxhcXVvOyBiYWNrIikKZ2V0dGV4dCgiVmlld2luZyBwYWdlICVkIG9mICVkIikKZ2V0dGV4dCgibmV4dCAmcmFxdW87IikKZ2V0dGV4dCgibGFzdCAmcmFxdW87IikKZ2V0dGV4dCgiVXNlcm5hbWUiKSAvKiBhbHNvIGluOiB0ZW1wbGF0ZXMvVXNlclNlbGZSZWdpc3RyYXRpb24udHBsICovCmdldHRleHQoIkZ1bGwgTmFtZSIpIC8qIGFsc28gaW46IHRlbXBsYXRlcy9Vc2VyU2VsZlJlZ2lzdHJhdGlvbi50cGwgKi8KZ2V0dGV4dCgiRW1haWwiKQpnZXR0ZXh0KCJEYXRlIikKZ2V0dGV4dCgiQWN0aW9uIikKZ2V0dGV4dCgiYWN0aXZhdGUiKQpnZXR0ZXh0KCJkZWxldGUiKQoKLyogdGVtcGxhdGVzL0NvbmZpcm1SZWdpc3RyYXRpb24udHBsICovCmdldHRleHQoIkFjY291bnQgQWN0aXZhdGlvbiIpCmdldHRleHQoIlRoaXMgdXNlciBjYW5ub3QgYmUgYWN0aXZhdGVkLiIpCmdldHRleHQoIlRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgVVJMIHlvdSBlbnRlcmVkIGlzIG5vdCBjb3JyZWN0IG9yIHlvdSBhbHJlYWR5IGFjdGl2YXRlZCB0aGlzIGFjY291bnQuIFBsZWFzZSBjaGVjayBpZiB5b3VyIG1haWwgY2xpZW50IGJyb2tlIHRoZSBsaW5rIGludG8gc2V2ZXJhbCBsaW5lcyBhbmQgYXBwZW5kIHRoZW0gd2l0aG91dCBzcGFjZXMuIikKZ2V0dGV4dCgiWW91ciBhY2NvdW50IGhhcyBiZWVuIGFjdGl2YXRlZC4iKQpnZXR0ZXh0KCJZb3UgY2FuIG5vdyBsb2dpbiB0byB5b3VyIGFjY291bnQgd2l0aCB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZC4iKQoKLyogdGVtcGxhdGVzL0NvbmZpcm1hdGlvbkVtYWlsLnRwbCAqLwpnZXR0ZXh0KCJIZWxsbyAlcywiKSAvKiBhbHNvIGluOiB0ZW1wbGF0ZXMvV2VsY29tZUVtYWlsLnRwbCAqLwpnZXR0ZXh0KCJZb3UgcmVjZWl2ZSB0aGlzIGVtYWlsIGJlY2F1c2UgeW91IGhhdmUgcmVnaXN0ZXJlZCBhdCAlcyIpIC8qIGFsc28gaW46IHRlbXBsYXRlcy9XZWxjb21lRW1haWwudHBsICovCmdldHRleHQoIllvdXIgdXNlcm5hbWUgaXM6ICVzIikgLyogYWxzbyBpbjogdGVtcGxhdGVzL1dlbGNvbWVFbWFpbC50cGwgKi8KZ2V0dGV4dCgiVG8gZmluaXNoIHRoZSByZWdpc3RyYXRpb24gcHJvY2VzcyBwbGVhc2UgY2xpY2sgdGhlIGZvbGxvd2luZyBsaW5rOiIpCmdldHRleHQoIklmIHlvdSBkaWQgbm90IHJlZ2lzdGVyIGF0IHRoaXMgc2l0ZSB0aGVuIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gIFRoZSByZWdpc3RyYXRpb24gd2lsbCBub3QgYmVjb21lIHZhbGlkIGFuZCB5b3Ugd2lsbCBub3QgcmVjZWl2ZSBhbnkgZnVydGhlciBlbWFpbHMuICBTb3JyeSBmb3IgdGhlIGluY29udmVuaWVuY2UuIikKZ2V0dGV4dCgiVGhhbmsgeW91ISIpIC8qIGFsc28gaW46IHRlbXBsYXRlcy9XZWxjb21lRW1haWwudHBsICovCgovKiB0ZW1wbGF0ZXMvU2VsZlJlZ2lzdHJhdGlvblN1Y2Nlc3MudHBsICovCmdldHRleHQoIlJlZ2lzdHJhdGlvbiBzdWNjZXNzZnVsIikKZ2V0dGV4dCgiWW91ciByZWdpc3RyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuIikKZ2V0dGV4dCgiWW91IHdpbGwgc2hvcnRseSByZWNlaXZlIGFuIGVtYWlsIGNvbnRhaW5pbmcgYSBsaW5rLiBZb3UgaGF2ZSB0byBjbGljayB0aGlzIGxpbmsgdG8gY29uZmlybSBhbmQgYWN0aXZhdGUgeW91ciBhY2NvdW50LiAgVGhpcyBwcm9jZWR1cmUgaXMgbmVjZXNzYXJ5IHRvIHByZXZlbnQgYWNjb3VudCBhYnVzZS4iKQpnZXR0ZXh0KCJZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIHByb2Nlc3NlZCBhbmQgeW91ciBhY2NvdW50IGFjdGl2YXRlZCBzb29uLiIpCmdldHRleHQoIllvdXIgcmVnaXN0cmF0aW9uIHdhcyBzdWNjZXNzZnVsIGFuZCB5b3VyIGFjY291bnQgaGFzIGJlZW4gYWN0aXZhdGVkLiIpCmdldHRleHQoIllvdSBjYW4gbm93ICVzbG9naW4lcyB0byB5b3VyIGFjY291bnQgd2l0aCB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZC4iKQoKLyogdGVtcGxhdGVzL1VzZXJTZWxmUmVnaXN0cmF0aW9uLnRwbCAqLwpnZXR0ZXh0KCJSZWdpc3RlciBBcyBOZXcgVXNlciIpCmdldHRleHQoIihyZXF1aXJlZCkiKQpnZXR0ZXh0KCJZb3UgbXVzdCBlbnRlciBhIHVzZXJuYW1lIikKZ2V0dGV4dCgiVXNlcm5hbWUgJyVzJyBhbHJlYWR5IGV4aXN0cyIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIHlvdXIgZnVsbCBuYW1lIikKZ2V0dGV4dCgiRW1haWwgQWRkcmVzcyIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGFuIGVtYWlsIGFkZHJlc3MiKQpnZXR0ZXh0KCJJbnZhbGlkIGVtYWlsIGFkZHJlc3MiKQpnZXR0ZXh0KCJQYXNzd29yZCIpCmdldHRleHQoIllvdSBtdXN0IGVudGVyIGEgcGFzc3dvcmQiKQpnZXR0ZXh0KCJWZXJpZnkgUGFzc3dvcmQiKQpnZXR0ZXh0KCJZb3UgbXVzdCBlbnRlciB0aGUgcGFzc3dvcmQgYSBzZWNvbmQgdGltZSIpCmdldHRleHQoIlRoZSBwYXNzd29yZHMgeW91IGVudGVyZWQgZGlkIG5vdCBtYXRjaCIpCmdldHRleHQoIkNhbmNlbCIpCgovKiB0ZW1wbGF0ZXMvV2VsY29tZUVtYWlsLnRwbCAqLwpnZXR0ZXh0KCJZb3VyIGFjY291bnQgaXMgbm93IGFjdGl2ZS4gVmlzaXQgdGhlIHNpdGUgbGlzdGVkIGFib3ZlIHRvIGxvZ2luLiIpCg==');
expand_e4d29fcbda($outputDir, 'templates/AdminEmail.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjIzNSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0Ke2ctPnRleHQgdGV4dD0iTmV3IHVzZXIgcmVnaXN0cmF0aW9uOiJ9Cgp7Zy0+dGV4dCB0ZXh0PSIgICAgVXNlcm5hbWU6ICVzIiBhcmcxPSR1c2VybmFtZX0Ke2ctPnRleHQgdGV4dD0iICAgRnVsbCBuYW1lOiAlcyIgYXJnMT0kbmFtZX0Ke2ctPnRleHQgdGV4dD0iICAgICAgIEVtYWlsOiAlcyIgYXJnMT0kZW1haWx9Cgp7Zy0+dGV4dCB0ZXh0PSJBY3RpdmF0ZSBvciBkZWxldGUgdGhpcyB1c2VyIGhlcmUifQp7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJZm9yY2VGdWxsVXJsPXRydWUgaHRtbEVudGl0aWVzPWZhbHNlIGZvcmNlU2Vzc2lvbklkPWZhbHNlfQo=');
expand_e4d29fcbda($outputDir, 'templates/AdminSelfRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNzM4MCAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyJ9IDwvaDI+CjwvZGl2PgoKe2lmICFlbXB0eSgkc3RhdHVzKX0KPGRpdiBjbGFzcz0iZ2JCbG9jayI+PGgyIGNsYXNzPSJnaVN1Y2Nlc3MiPgogIHtpZiBpc3NldCgkc3RhdHVzLnNhdmVkKX0KICAgIHtnLT50ZXh0IHRleHQ9IlNldHRpbmdzIHNhdmVkIHN1Y2Nlc3NmdWxseSJ9CiAgey9pZn0KICB7aWYgaXNzZXQoJHN0YXR1cy5hY3RpdmF0ZWQpfQogICAge2ctPnRleHQgdGV4dD0iQWN0aXZhdGVkIHVzZXIgJXMiIGFyZzE9JHN0YXR1cy5hY3RpdmF0ZWR9CiAgey9pZn0KICB7aWYgaXNzZXQoJHN0YXR1cy5kZWxldGVkKX0KICAgIHtnLT50ZXh0IHRleHQ9IkRlbGV0ZWQgdXNlciAlcyIgYXJnMT0kc3RhdHVzLmRlbGV0ZWR9CiAgey9pZn0KPC9oMj48L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9ImdiQmxvY2siPgogIDxoMz4ge2ctPnRleHQgdGV4dD0iQ29uZmlybWF0aW9uIFBvbGljeSJ9IDwvaDM+CgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAge2ctPnRleHQgdGV4dD0iVGhlIFJlZ2lzdHJhdGlvbiBtb2R1bGUgY2FuIGFjY2VwdCBuZXcgdXNlciByZWdpc3RyYXRpb25zIGluc3RhbnRseSwgcmVxdWlyZSB0aGUgdXNlciB0byBjbGljayBhIGNvbmZpcm1hdGlvbiBsaW5rIGluIGFuIGVtYWlsIHRoYXQgaXMgc2VudCBieSB0aGUgbW9kdWxlLCBvciByZXF1aXJlIGFjY291bnQgYWN0aXZhdGlvbiBieSBhIHNpdGUgYWRtaW5pc3RyYXRvci4ifQogIDwvcD4KCiAge2ctPnRleHQgdGV4dD0iQ2hvb3NlIHBvbGljeToifQogIDxzZWxlY3QgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2NvbmZpcm1hdGlvbl0ifSI+CiAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JFNlbGZSZWdpc3RyYXRpb24uZW1haWxDb25maXJtYXRpb25MaXN0IHNlbGVjdGVkPSRmb3JtLmNvbmZpcm1hdGlvbn0KICA8L3NlbGVjdD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDM+IHtnLT50ZXh0IHRleHQ9IkVtYWlsIGRldGFpbHMifSA8L2gzPgoKICA8dGFibGUgY2xhc3M9ImdiRGF0YVRhYmxlIj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IlNlbmRlcihGcm9tKSBFbWFpbCBBZGRyZXNzOiJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGlucHV0IHR5cGU9InRleHQiICBzaXplPSIzMCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtmcm9tXSJ9IiB2YWx1ZT0ieyRmb3JtLmZyb219Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJDb25maXJtYXRpb24gRW1haWwgU3ViamVjdDoifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtzdWJqZWN0XSJ9IiB2YWx1ZT0ieyRmb3JtLnN1YmplY3R9Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkIGNvbHNwYW49IjIiPgogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjYkVtYWlsQWRtaW5zIiB7aWYgJGZvcm0uZW1haWxhZG1pbnN9Y2hlY2tlZD0iY2hlY2tlZCIgey9pZn0KICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtlbWFpbGFkbWluc10ifSIvPgogICAgICA8bGFiZWwgZm9yPSJjYkVtYWlsQWRtaW5zIj4KCXtnLT50ZXh0IHRleHQ9IkVtYWlsIFNpdGUgQWRtaW5pc3RyYXRvcnMgZm9yIGFsbCBuZXcgcmVnaXN0cmF0aW9ucyJ9CiAgICAgIDwvbGFiZWw+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkPgogICAgICB7Zy0+dGV4dCB0ZXh0PSJBZG1pbiBFbWFpbCBTdWJqZWN0OiJ9CiAgICA8L3RkPjx0ZD4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FkbWluc3ViamVjdF0ifSIgdmFsdWU9InskZm9ybS5hZG1pbnN1YmplY3R9Ii8+CiAgICA8L3RkPgogIDwvdHI+PHRyPgogICAgPHRkIGNvbHNwYW49IjIiPgogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjYkVtYWlsVXNlcnMiIHtpZiAkZm9ybS5lbWFpbHVzZXJzfWNoZWNrZWQ9ImNoZWNrZWQiIHsvaWZ9CiAgICAgICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bZW1haWx1c2Vyc10ifSIvPgogICAgICA8bGFiZWwgZm9yPSJjYkVtYWlsVXNlcnMiPgoJe2ctPnRleHQgdGV4dD0iRW1haWwgbmV3IHVzZXJzIHVwb24gYWNjb3VudCBhY3RpdmF0aW9uIn0KICAgICAgPC9sYWJlbD4KICAgIDwvdGQ+CiAgPC90cj48dHI+CiAgICA8dGQ+CiAgICAgIHtnLT50ZXh0IHRleHQ9IldlbGNvbWUgRW1haWwgU3ViamVjdDoifQogICAgPC90ZD48dGQ+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIKICAgICAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVt1c2Vyc3ViamVjdF0ifSIgdmFsdWU9InskZm9ybS51c2Vyc3ViamVjdH0iLz4KICAgIDwvdGQ+CiAgPC90cj48L3RhYmxlPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImdiQmxvY2sgZ2NCYWNrZ3JvdW5kMSI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImlucHV0VHlwZVN1Ym1pdCIKICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2FjdGlvbl1bc2F2ZV0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlNhdmUifSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW2NhbmNlbF0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlJlc2V0In0iLz4KPC9kaXY+Cgp7aWYgJGZvcm0ubGlzdC5jb3VudD4wfQo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDM+IHtnLT50ZXh0IHRleHQ9IlBlbmRpbmcgUmVnaXN0cmF0aW9ucyJ9IDwvaDM+CgogIHtpZiAoJGZvcm0ubGlzdC5tYXhQYWdlcyA+IDEpfQogICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTBweCI+PHNwYW4gY2xhc3M9ImdjQmFja2dyb3VuZDEiIHN0eWxlPSJwYWRkaW5nOiA1cHgiPgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2xpc3RdW3BhZ2VdIn0iIHZhbHVlPSJ7JGZvcm0ubGlzdC5wYWdlfSIvPgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIgogICAgICAgbmFtZT0ie2ctPmZvcm1WYXIgdmFyPSJmb3JtW2xpc3RdW21heFBhZ2VzXSJ9IiB2YWx1ZT0ieyRmb3JtLmxpc3QubWF4UGFnZXN9Ii8+CgogICAgICB7aWYgKCRmb3JtLmxpc3QucGFnZSA+IDEpfQoJPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJ2aWV3PWNvcmUuU2l0ZUFkbWluIiBhcmcyPSJzdWJWaWV3PXJlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbiIKCSBhcmczPSJmb3JtW2xpc3RdW3BhZ2VdPTEifSI+e2ctPnRleHQgdGV4dD0iJmxhcXVvOyBmaXJzdCJ9PC9hPgoJJm5ic3A7Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QuYmFja1BhZ2VgIn0iPntnLT50ZXh0IHRleHQ9IiZsYXF1bzsgYmFjayJ9PC9hPgogICAgICB7L2lmfQoKICAgICAgJm5ic3A7CiAgICAgIHtnLT50ZXh0IHRleHQ9IlZpZXdpbmcgcGFnZSAlZCBvZiAlZCIgYXJnMT0kZm9ybS5saXN0LnBhZ2UgYXJnMj0kZm9ybS5saXN0Lm1heFBhZ2VzfQogICAgICAmbmJzcDsKCiAgICAgIHtpZiAoJGZvcm0ubGlzdC5wYWdlIDwgJGZvcm0ubGlzdC5tYXhQYWdlcyl9Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QubmV4dFBhZ2VgIn0iPntnLT50ZXh0IHRleHQ9Im5leHQgJnJhcXVvOyJ9PC9hPgoJJm5ic3A7Cgk8YSBocmVmPSJ7Zy0+dXJsIGFyZzE9InZpZXc9Y29yZS5TaXRlQWRtaW4iIGFyZzI9InN1YlZpZXc9cmVnaXN0ZXIuQWRtaW5TZWxmUmVnaXN0cmF0aW9uIgoJIGFyZzM9ImZvcm1bbGlzdF1bcGFnZV09YCRmb3JtLmxpc3QubWF4UGFnZXNgIn0iPntnLT50ZXh0IHRleHQ9Imxhc3QgJnJhcXVvOyJ9PC9hPgogICAgICB7L2lmfQogICAgPC9zcGFuPjwvZGl2PgogIHsvaWZ9CgogIDx0YWJsZSBjbGFzcz0iZ2JEYXRhVGFibGUiPjx0cj4KICAgIDx0aD4ge2ctPnRleHQgdGV4dD0iVXNlcm5hbWUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJGdWxsIE5hbWUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJFbWFpbCJ9IDwvdGg+CiAgICA8dGg+IHtnLT50ZXh0IHRleHQ9IkRhdGUifSA8L3RoPgogICAgPHRoPiB7Zy0+dGV4dCB0ZXh0PSJBY3Rpb24ifSA8L3RoPgogIDwvdHI+CgogIHtmb3JlYWNoIGZyb209JGZvcm0ubGlzdC51c2VyTmFtZXMga2V5PXVzZXJJZCBpdGVtPXVzZXJ9CiAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJnYkV2ZW4sZ2JPZGQifSI+CiAgICA8dGQ+IHskdXNlci51c2VyTmFtZX0gPC90ZD4KICAgIDx0ZD4geyR1c2VyLmZ1bGxOYW1lfSA8L3RkPgogICAgPHRkPiB7JHVzZXIuZW1haWx9IDwvdGQ+CiAgICA8dGQ+IHtnLT5kYXRlIHRpbWVzdGFtcD0kdXNlci5jcmVhdGlvblRpbWVzdGFtcH0gPC90ZD4KICAgIDx0ZD4KICAgICAgPGEgaHJlZj0ie2ctPnVybCBhcmcxPSJjb250cm9sbGVyPXJlZ2lzdGVyLkFkbWluU2VsZlJlZ2lzdHJhdGlvbiIKICAgICAgIGFyZzI9ImZvcm1bYWN0aW9uXVthY3RpdmF0ZV09MSIgYXJnMz0iZm9ybVt1c2VySWRdPSR1c2VySWQifSI+e2ctPnRleHQgdGV4dD0iYWN0aXZhdGUifTwvYT4KICAgICAgJm5ic3A7CiAgICAgIDxhIGhyZWY9IntnLT51cmwgYXJnMT0iY29udHJvbGxlcj1yZWdpc3Rlci5BZG1pblNlbGZSZWdpc3RyYXRpb24iCiAgICAgICBhcmcyPSJmb3JtW2FjdGlvbl1bZGVsZXRlXT0xIiBhcmczPSJmb3JtW3VzZXJJZF09JHVzZXJJZCJ9Ij57Zy0+dGV4dCB0ZXh0PSJkZWxldGUifTwvYT4KICAgIDwvdGQ+CiAgPC90cj4KICB7L2ZvcmVhY2h9CjwvdGFibGU+CjwvZGl2Pgp7L2lmfQo=');
expand_e4d29fcbda($outputDir, 'templates/ConfirmRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjIzNSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IkFjY291bnQgQWN0aXZhdGlvbiJ9IDwvaDI+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ2JCbG9jayI+CntpZiBpc3NldCgkZm9ybS5lcnJvci51bmtub3duVXNlcil9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJUaGlzIHVzZXIgY2Fubm90IGJlIGFjdGl2YXRlZC4ifQogIDwvZGl2PgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIn0+CiAgICB7Zy0+dGV4dCB0ZXh0PSJUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIFVSTCB5b3UgZW50ZXJlZCBpcyBub3QgY29ycmVjdCBvciB5b3UgYWxyZWFkeSBhY3RpdmF0ZWQgdGhpcyBhY2NvdW50LiBQbGVhc2UgY2hlY2sgaWYgeW91ciBtYWlsIGNsaWVudCBicm9rZSB0aGUgbGluayBpbnRvIHNldmVyYWwgbGluZXMgYW5kIGFwcGVuZCB0aGVtIHdpdGhvdXQgc3BhY2VzLiJ9CiAgPC9wPgp7ZWxzZX0KCiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24ifT4KICAgIHtnLT50ZXh0IHRleHQ9IllvdXIgYWNjb3VudCBoYXMgYmVlbiBhY3RpdmF0ZWQuIn0KICA8L3A+CiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24ifT4KICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgY2FuIG5vdyBsb2dpbiB0byB5b3VyIGFjY291bnQgd2l0aCB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZC4ifQogIDwvcD4Key9pZn0KPC9kaXY+Cg==');
expand_e4d29fcbda($outputDir, 'templates/ConfirmationEmail.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjIzNSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0Ke2ctPnRleHQgdGV4dD0iSGVsbG8gJXMsIiBhcmcxPSRuYW1lfQoKe2ctPnRleHQgdGV4dD0iWW91IHJlY2VpdmUgdGhpcyBlbWFpbCBiZWNhdXNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgYXQgJXMiIGFyZzE9JGJhc2VVcmx9CntnLT50ZXh0IHRleHQ9IllvdXIgdXNlcm5hbWUgaXM6ICVzIiBhcmcxPSR1c2VybmFtZX0KCntnLT50ZXh0IHRleHQ9IlRvIGZpbmlzaCB0aGUgcmVnaXN0cmF0aW9uIHByb2Nlc3MgcGxlYXNlIGNsaWNrIHRoZSBmb2xsb3dpbmcgbGluazoifQp7JGNvbmZpcm1hdGlvblVybH0KCntnLT50ZXh0IHRleHQ9IklmIHlvdSBkaWQgbm90IHJlZ2lzdGVyIGF0IHRoaXMgc2l0ZSB0aGVuIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gIFRoZSByZWdpc3RyYXRpb24gd2lsbCBub3QgYmVjb21lIHZhbGlkIGFuZCB5b3Ugd2lsbCBub3QgcmVjZWl2ZSBhbnkgZnVydGhlciBlbWFpbHMuICBTb3JyeSBmb3IgdGhlIGluY29udmVuaWVuY2UuIn0KCntnLT50ZXh0IHRleHQ9IlRoYW5rIHlvdSEifQo=');
expand_e4d29fcbda($outputDir, 'templates/SelfRegistrationSuccess.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjIzNSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdHJhdGlvbiBzdWNjZXNzZnVsIn0gPC9oMj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4Ke2lmICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5wZW5kaW5nfQogIDxoMiBjbGFzcz0iZ2lUaXRsZSI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJZb3VyIHJlZ2lzdHJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4ifQogIDwvaDI+CiAgPHAgY2xhc3M9ImdpRGVzY3JpcHRpb24iPgogICAge2lmICRTZWxmUmVnaXN0cmF0aW9uU3VjY2Vzcy5zZW50Q29uZmlybWF0aW9uRW1haWx9CiAgICAgIHtnLT50ZXh0IHRleHQ9IllvdSB3aWxsIHNob3J0bHkgcmVjZWl2ZSBhbiBlbWFpbCBjb250YWluaW5nIGEgbGluay4gWW91IGhhdmUgdG8gY2xpY2sgdGhpcyBsaW5rIHRvIGNvbmZpcm0gYW5kIGFjdGl2YXRlIHlvdXIgYWNjb3VudC4gIFRoaXMgcHJvY2VkdXJlIGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IGFjY291bnQgYWJ1c2UuIn0KICAgIHtlbHNlfQogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIHByb2Nlc3NlZCBhbmQgeW91ciBhY2NvdW50IGFjdGl2YXRlZCBzb29uLiJ9CiAgICB7L2lmfQogIDwvcD4Ke2Vsc2V9CiAgPGgyIGNsYXNzPSJnaVRpdGxlIj4KICAgICAge2ctPnRleHQgdGV4dD0iWW91ciByZWdpc3RyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgYW5kIHlvdXIgYWNjb3VudCBoYXMgYmVlbiBhY3RpdmF0ZWQuIn0KICA8L2gyPgogIDxwIGNsYXNzPSJnaURlc2NyaXB0aW9uIj4KICAgICAge2NhcHR1cmUgbmFtZT1sb2dpbkxpbmt9CiAgICAgIDxhIGhyZWY9IntnLT51cmwgYXJnMT0idmlldz1jb3JlLlVzZXJBZG1pbiIgYXJnMj0ic3ViVmlldz1jb3JlLlVzZXJMb2dpbiIgCiAgICAgICAgYXJnMz0icmV0dXJuPTEiIGZvcmNlRnVsbFVybD10cnVlfSI+CiAgICAgIHsvY2FwdHVyZX0KICAgICAge2NhcHR1cmUgbmFtZT1sb2dpbkxpbmtFbmR9CiAgICAgIDwvYT4KICAgICAgey9jYXB0dXJlfQogICAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgY2FuIG5vdyAlc2xvZ2luJXMgdG8geW91ciBhY2NvdW50IHdpdGggeW91ciB1c2VybmFtZSBhbmQgcGFzc3dvcmQuIgoJICAgICAgIGFyZzE9JHNtYXJ0eS5jYXB0dXJlLmxvZ2luTGluayBhcmcyPSRzbWFydHkuY2FwdHVyZS5sb2dpbkxpbmtFbmR9CiAgPC9wPgp7L2lmfQo8L2Rpdj4K');
expand_e4d29fcbda($outputDir, 'templates/UserSelfRegistration.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjIzNSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0KPGRpdiBjbGFzcz0iZ2JCbG9jayBnY0JhY2tncm91bmQxIj4KICA8aDI+IHtnLT50ZXh0IHRleHQ9IlJlZ2lzdGVyIEFzIE5ldyBVc2VyIn0gPC9oMj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIj4KICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJVc2VybmFtZSJ9CiAgICA8c3BhbiBjbGFzcz0iZ2lTdWJ0aXRsZSI+IHtnLT50ZXh0IHRleHQ9IihyZXF1aXJlZCkifSA8L3NwYW4+CiAgPC9oND4KCiAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bdXNlck5hbWVdIn0iIHZhbHVlPSJ7JGZvcm0udXNlck5hbWV9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci51c2VyTmFtZS5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIGEgdXNlcm5hbWUifQogIDwvZGl2PgogIHsvaWZ9CiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnVzZXJOYW1lLmV4aXN0cyl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJVc2VybmFtZSAnJXMnIGFscmVhZHkgZXhpc3RzIiBhcmcxPSRmb3JtLnVzZXJOYW1lfQogIDwvZGl2PgogIHsvaWZ9CgogIDxoND4KICAgIHtnLT50ZXh0IHRleHQ9IkZ1bGwgTmFtZSJ9CiAgICA8c3BhbiBjbGFzcz0iZ2lTdWJ0aXRsZSI+IHtnLT50ZXh0IHRleHQ9IihyZXF1aXJlZCkifSA8L3NwYW4+CiAgPC9oND4KCiAgPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bZnVsbE5hbWVdIn0iIHZhbHVlPSJ7JGZvcm0uZnVsbE5hbWV9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5mdWxsTmFtZS5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIHlvdXIgZnVsbCBuYW1lIn0KICA8L2Rpdj4KICB7L2lmfQoKICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJFbWFpbCBBZGRyZXNzIn0KICAgIDxzcGFuIGNsYXNzPSJnaVN1YnRpdGxlIj4ge2ctPnRleHQgdGV4dD0iKHJlcXVpcmVkKSJ9IDwvc3Bhbj4KICA8L2g0PgoKICA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzIiIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtlbWFpbF0ifSIgdmFsdWU9InskZm9ybS5lbWFpbH0iLz4KCiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLmVtYWlsLm1pc3NpbmcpfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iWW91IG11c3QgZW50ZXIgYW4gZW1haWwgYWRkcmVzcyJ9CiAgPC9kaXY+CiAgey9pZn0KICB7aWYgaXNzZXQoJGZvcm0uZXJyb3IuZW1haWwuaW52YWxpZCl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJJbnZhbGlkIGVtYWlsIGFkZHJlc3MifQogIDwvZGl2PgogIHsvaWZ9CgogIDxoND4KICAgIHtnLT50ZXh0IHRleHQ9IlBhc3N3b3JkIn0KICAgIDxzcGFuIGNsYXNzPSJnaVN1YnRpdGxlIj4ge2ctPnRleHQgdGV4dD0iKHJlcXVpcmVkKSJ9IDwvc3Bhbj4KICA8L2g0PgoKICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHNpemU9IjMyIiBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bcGFzc3dvcmQxXSJ9Ii8+CgogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXNzd29yZDEubWlzc2luZyl9CiAgPGRpdiBjbGFzcz0iZ2lFcnJvciI+CiAgICB7Zy0+dGV4dCB0ZXh0PSJZb3UgbXVzdCBlbnRlciBhIHBhc3N3b3JkIn0KICA8L2Rpdj4KICB7L2lmfQoKICA8aDQ+CiAgICB7Zy0+dGV4dCB0ZXh0PSJWZXJpZnkgUGFzc3dvcmQifQogICAgPHNwYW4gY2xhc3M9ImdpU3VidGl0bGUiPiB7Zy0+dGV4dCB0ZXh0PSIocmVxdWlyZWQpIn0gPC9zcGFuPgogIDwvaDQ+CgogIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgc2l6ZT0iMzIiIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVtwYXNzd29yZDJdIn0iLz4KCiAge2lmIGlzc2V0KCRmb3JtLmVycm9yLnBhc3N3b3JkMi5taXNzaW5nKX0KICA8ZGl2IGNsYXNzPSJnaUVycm9yIj4KICAgIHtnLT50ZXh0IHRleHQ9IllvdSBtdXN0IGVudGVyIHRoZSBwYXNzd29yZCBhIHNlY29uZCB0aW1lIn0KICA8L2Rpdj4KICB7L2lmfQogIHtpZiBpc3NldCgkZm9ybS5lcnJvci5wYXNzd29yZDIubWlzbWF0Y2gpfQogIDxkaXYgY2xhc3M9ImdpRXJyb3IiPgogICAge2ctPnRleHQgdGV4dD0iVGhlIHBhc3N3b3JkcyB5b3UgZW50ZXJlZCBkaWQgbm90IG1hdGNoIn0KICA8L2Rpdj4KICB7L2lmfQo8L2Rpdj4KCnsqIEluY2x1ZGUgb3VyIGV4dHJhIEl0ZW1BZGRPcHRpb25zICp9Cntmb3JlYWNoIGZyb209JFVzZXJTZWxmUmVnaXN0cmF0aW9uLnBsdWdpbnMgaXRlbT1wbHVnaW59CiAge2luY2x1ZGUgZmlsZT0iZ2FsbGVyeTpgJHBsdWdpbi5maWxlYCIgbDEwRG9tYWluPSRwbHVnaW4ubDEwRG9tYWlufQp7L2ZvcmVhY2h9Cgo8ZGl2IGNsYXNzPSJnYkJsb2NrIGdjQmFja2dyb3VuZDEiPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dFR5cGVTdWJtaXQiCiAgIG5hbWU9IntnLT5mb3JtVmFyIHZhcj0iZm9ybVthY3Rpb25dW2NyZWF0ZV0ifSIgdmFsdWU9IntnLT50ZXh0IHRleHQ9IlJlZ2lzdGVyIn0iLz4KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXRUeXBlU3VibWl0IgogICBuYW1lPSJ7Zy0+Zm9ybVZhciB2YXI9ImZvcm1bYWN0aW9uXVtjYW5jZWxdIn0iIHZhbHVlPSJ7Zy0+dGV4dCB0ZXh0PSJDYW5jZWwifSIvPgo8L2Rpdj4K');
expand_e4d29fcbda($outputDir, 'templates/WelcomeEmail.tpl', 'eyoKICogJFJldmlzaW9uOiAxNjk0MSAkCiAqIFJlYWQgdGhpcyBiZWZvcmUgY2hhbmdpbmcgdGVtcGxhdGVzISAgaHR0cDovL2NvZGV4LmdhbGxlcnkyLm9yZy9HYWxsZXJ5MjpFZGl0aW5nX1RlbXBsYXRlcwogKn0Ke2ctPnRleHQgdGV4dD0iSGVsbG8gJXMsIiBhcmcxPSRuYW1lfQoKe2ctPnRleHQgdGV4dD0iWW91IHJlY2VpdmUgdGhpcyBlbWFpbCBiZWNhdXNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgYXQgJXMiIGFyZzE9JGJhc2VVcmx9CntnLT50ZXh0IHRleHQ9IllvdXIgdXNlcm5hbWUgaXM6ICVzIiBhcmcxPSR1c2VybmFtZX0KCntnLT50ZXh0IHRleHQ9IllvdXIgYWNjb3VudCBpcyBub3cgYWN0aXZlLiBWaXNpdCB0aGUgc2l0ZSBsaXN0ZWQgYWJvdmUgdG8gbG9naW4uIn0KCntnLT50ZXh0IHRleHQ9IlRoYW5rIHlvdSEifQo=');
}
function expand_e4d29fcbda($outputDir, $relativePath, $data) {
global $gallery;
$platform =& $gallery->getPlatform();
$platform->file_put_contents($outputDir . $relativePath, base64_decode($data));
$platform->chmod($outputDir . $relativePath);
}
$unpackFunction = "unpack_e4d29fcbda";
?>