1789595936
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A7aa678fc409cf5e007b766490f6349ae-ee78c828bf9e8ae8fb1dc75e5a84e39c
s:7084:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE2OiJwYW5lbENlbnRyb3MucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImVlNzhjODI4YmY5ZThhZThmYjFkYzc1ZTVhODRlMzljIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NDE6ImJhY2tlbmQvYXBpL3YycGdncC9ydXRhcy9wYW5lbENlbnRyb3MucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyNTUzOiI8P3BocApkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsKCi8qKgogKiBSdXRhcyBkZWwgUEFORUwgQ0VOVFJPUyDigJQgZ2VzdGnDs24gZGUgbGFzIGNvbmV4aW9uZXMgYSBiYXNlcyB0cmFja2luZy4KICoKICogU2VjY2nDs24gbcOhcyBzZW5zaWJsZSBkZWwgc2lzdGVtYTogbGEgdGFibGEgYGNvbmV4aW9uYCBndWFyZGEgbGFzCiAqIGNyZWRlbmNpYWxlcyBjaWZyYWRhcyBkZSB0b2RhcyBsYXMgYmFzZXMgZGUgZXhwbG90YWNpw7NuLiBFeGNsdXNpdmEgZGVsCiAqIFNVUEVSIHVzdWFyaW8sIHNpbiBleGNlcGNpb25lcy4KICoKICogRW4gbGEgdjEgYGxvYWRfY29uZXhpb25lc2AgcXVlZGFiYSBhY2Nlc2libGUgYSBjdWFscXVpZXIgYXV0ZW50aWNhZG8KICogcG9ycXVlIGxhIGxsYW1hZGEgYSByZXF1aXJlU3VwZXIoKSBlc3RhYmEgY29tZW50YWRhIGVuIGVsIGNvbnRyb2xhZG9yLgogKiBDb24gZWwgbml2ZWwgZGVjbGFyYWRvIGFxdcOtLCBlc2UgZGVzY3VpZG8geWEgbm8gcHVlZGUgcmVhYnJpcnNlLgogKgogKiBOb3RhOiBsb3MgbcOpdG9kb3MgZGUgQ29udHJvbGFkb3JDb25leGlvbmVzIHNpZ3VlbiBsbGFtYW5kbyBhCiAqIHJlcXVpcmVTdXBlcigpIGludGVybmFtZW50ZS4gTGEgY29tcHJvYmFjacOzbiBxdWVkYSBkdXBsaWNhZGEsIGxvIGN1YWwKICogZXMgaW5vZmVuc2l2byB5IGFjdMO6YSBkZSByZWQgcG9yIHNpIGFsZ3VpZW4gcmV1dGlsaXphIGVsIGNvbnRyb2xhZG9yCiAqIGRlc2RlIG90cm8gcHVudG8gZGUgZW50cmFkYS4KICoKICogQHBhY2thZ2UgdHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMKICovCgpyZXR1cm4gWwoKICAgICdsb2FkX2NvbmV4aW9uZXMnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JDb25leGlvbmVzOjpnZXRBbGwoKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAnY3JlYXRlX2NvbmV4aW9uJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OlNVUEVSLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yQ29uZXhpb25lczo6Y3JlYXRlKCRjdHgtPmpzb24oKSkpOwogICAgICAgIH0KICAgICksCgogICAgJ3VwZGF0ZV9jb25leGlvbicgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpTVVBFUiwKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgUmVzcHVlc3RhOjpkZWxDb250cm9sYWRvcihDb250cm9sYWRvckNvbmV4aW9uZXM6OnVwZGF0ZSgkY3R4LT5qc29uKCkpKTsKICAgICAgICB9CiAgICApLAoKICAgICdkZWxldGVfY29uZXhpb24nID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JDb25leGlvbmVzOjpkZWxldGUoJGN0eC0+anNvbigpKSk7CiAgICAgICAgfQogICAgKSwKCiAgICAnc2V0X2NvbmV4aW9uX2hhYmlsaXRhZGEnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6U1VQRVIsCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZGVsQ29udHJvbGFkb3IoQ29udHJvbGFkb3JDb25leGlvbmVzOjpzZXRIYWJpbGl0YWRhKCRjdHgtPmpzb24oKSkpOwogICAgICAgIH0KICAgICksCgogICAgLy8gUHJ1ZWJhIGRlIGNyZWRlbmNpYWxlcyBzaW4gZ3VhcmRhci4gUGVybWl0ZSBjb25lY3RhciBhIGhvc3QgeSBwdWVydG8KICAgIC8vIGFyYml0cmFyaW9zLCBkZSBhaMOtIHF1ZSBlc3TDqSByZXNlcnZhZGEgYWwgc3VwZXIgdXN1YXJpby4KICAgICd0ZXN0X2NvbmV4aW9uJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OlNVUEVSLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yQ29uZXhpb25lczo6dGVzdCgkY3R4LT5qc29uKCkpKTsKICAgICAgICB9CiAgICApLApdOwoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjcyOiJSdXRhcyBkZWwgUEFORUwgQ0VOVFJPUyDigJQgZ2VzdGnDs24gZGUgbGFzIGNvbmV4aW9uZXMgYSBiYXNlcyB0cmFja2luZy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjEwOiJTZWNjacOzbiBtw6FzIHNlbnNpYmxlIGRlbCBzaXN0ZW1hOiBsYSB0YWJsYSBgY29uZXhpb25gIGd1YXJkYSBsYXMKY3JlZGVuY2lhbGVzIGNpZnJhZGFzIGRlIHRvZGFzIGxhcyBiYXNlcyBkZSBleHBsb3RhY2nDs24uIEV4Y2x1c2l2YSBkZWwKU1VQRVIgdXN1YXJpbywgc2luIGV4Y2VwY2lvbmVzLgoKRW4gbGEgdjEgYGxvYWRfY29uZXhpb25lc2AgcXVlZGFiYSBhY2Nlc2libGUgYSBjdWFscXVpZXIgYXV0ZW50aWNhZG8KcG9ycXVlIGxhIGxsYW1hZGEgYSByZXF1aXJlU3VwZXIoKSBlc3RhYmEgY29tZW50YWRhIGVuIGVsIGNvbnRyb2xhZG9yLgpDb24gZWwgbml2ZWwgZGVjbGFyYWRvIGFxdcOtLCBlc2UgZGVzY3VpZG8geWEgbm8gcHVlZGUgcmVhYnJpcnNlLgoKTm90YTogbG9zIG3DqXRvZG9zIGRlIENvbnRyb2xhZG9yQ29uZXhpb25lcyBzaWd1ZW4gbGxhbWFuZG8gYQpyZXF1aXJlU3VwZXIoKSBpbnRlcm5hbWVudGUuIExhIGNvbXByb2JhY2nDs24gcXVlZGEgZHVwbGljYWRhLCBsbyBjdWFsCmVzIGlub2ZlbnNpdm8geSBhY3TDumEgZGUgcmVkIHBvciBzaSBhbGd1aWVuIHJldXRpbGl6YSBlbCBjb250cm9sYWRvcgpkZXNkZSBvdHJvIHB1bnRvIGRlIGVudHJhZGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJwYWNrYWdlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyOToidHJhY2tpbmdcYmFja2VuZFxhcGlcdjJccnV0YXMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";