Whoops \ Exception \ ErrorException (E_WARNING)
Erroneous data format for unserializing 'Zend\I18n\Translator\TextDomain' Whoops\Exception\ErrorException thrown with message "Erroneous data format for unserializing 'Zend\I18n\Translator\TextDomain'" Stacktrace: #43 Whoops\Exception\ErrorException in /home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php:14 #42 unserialize in /home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php:14 #41 include in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Driver/FileSystem/NativeEncoder.php:25 #40 Stash\Driver\FileSystem\NativeEncoder:deserialize in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Driver/FileSystem.php:201 #39 Stash\Driver\FileSystem:getData in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php:528 #38 Stash\Item:getRecord in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php:273 #37 Stash\Item:executeGet in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php:217 #36 Stash\Item:get in /home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php:295 #35 Stash\Item:isMiss in /home/.sites/111/site30/web/concrete/src/Cache/Adapter/ZendCacheDriver.php:67 #34 Concrete\Core\Cache\Adapter\ZendCacheDriver:internalGetItem in /home/.sites/111/site30/web/concrete/vendor/zendframework/zend-cache/src/Storage/Adapter/AbstractAdapter.php:367 #33 Zend\Cache\Storage\Adapter\AbstractAdapter:getItem in /home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php:564 #32 Zend\I18n\Translator\Translator:loadMessages in /home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php:442 #31 Zend\I18n\Translator\Translator:getTranslatedMessage in /home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php:356 #30 Zend\I18n\Translator\Translator:translate in /home/.sites/111/site30/web/concrete/src/Localization/Translator/Adapter/Zend/TranslatorAdapter.php:103 #29 Concrete\Core\Localization\Translator\Adapter\Zend\TranslatorAdapter:translateContext in /home/.sites/111/site30/web/concrete/bootstrap/helpers.php:91 #28 tc in /home/.sites/111/site30/web/concrete/elements/header_required.php:67 #27 include in /home/.sites/111/site30/web/concrete/src/View/View.php:476 #26 Concrete\Core\View\View:element in /home/.sites/111/site30/web/concrete/src/Legacy/Loader.php:39 #25 Concrete\Core\Legacy\Loader:element in /home/.sites/111/site30/web/application/themes/teplate/elements/header.php:6 #24 include in /home/.sites/111/site30/web/concrete/src/View/View.php:109 #23 Concrete\Core\View\View:inc in /home/.sites/111/site30/web/application/themes/teplate/full.php:3 #22 include in /home/.sites/111/site30/web/concrete/src/View/View.php:288 #21 Concrete\Core\View\View:renderTemplate in /home/.sites/111/site30/web/concrete/src/View/View.php:250 #20 Concrete\Core\View\View:renderViewContents in /home/.sites/111/site30/web/concrete/src/View/AbstractView.php:164 #19 Concrete\Core\View\AbstractView:render in /home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php:149 #18 Concrete\Core\Http\ResponseFactory:view in /home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php:216 #17 Concrete\Core\Http\ResponseFactory:controller in /home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php:367 #16 Concrete\Core\Http\ResponseFactory:collection in /home/.sites/111/site30/web/concrete/src/Http/DefaultDispatcher.php:131 #15 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /home/.sites/111/site30/web/concrete/src/Http/DefaultDispatcher.php:59 #14 Concrete\Core\Http\DefaultDispatcher:dispatch in /home/.sites/111/site30/web/concrete/src/Http/Middleware/DispatcherDelegate.php:39 #13 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /home/.sites/111/site30/web/concrete/src/Http/Middleware/ThumbnailMiddleware.php:76 #12 Concrete\Core\Http\Middleware\ThumbnailMiddleware:process in /home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/.sites/111/site30/web/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39 #10 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/.sites/111/site30/web/concrete/src/Http/Middleware/CookieMiddleware.php:35 #8 Concrete\Core\Http\Middleware\CookieMiddleware:process in /home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/.sites/111/site30/web/concrete/src/Http/Middleware/ApplicationMiddleware.php:29 #6 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #5 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareStack.php:86 #4 Concrete\Core\Http\Middleware\MiddlewareStack:process in /home/.sites/111/site30/web/concrete/src/Http/DefaultServer.php:85 #3 Concrete\Core\Http\DefaultServer:handleRequest in /home/.sites/111/site30/web/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:128 #2 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /home/.sites/111/site30/web/concrete/src/Foundation/Runtime/DefaultRuntime.php:102 #1 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /home/.sites/111/site30/web/concrete/dispatcher.php:45 #0 require in /home/.sites/111/site30/web/index.php:31
Stack frames (44)
43
Whoops\Exception\ErrorException
/home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php14
42
unserialize
/home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php14
41
include
…/vendor/tedivm/stash/src/Stash/Driver/FileSystem/NativeEncoder.php25
40
Stash\Driver\FileSystem\NativeEncoder deserialize
…/vendor/tedivm/stash/src/Stash/Driver/FileSystem.php201
39
Stash\Driver\FileSystem getData
…/vendor/tedivm/stash/src/Stash/Item.php528
38
Stash\Item getRecord
…/vendor/tedivm/stash/src/Stash/Item.php273
37
Stash\Item executeGet
…/vendor/tedivm/stash/src/Stash/Item.php217
36
Stash\Item get
…/vendor/tedivm/stash/src/Stash/Item.php295
35
Stash\Item isMiss
…/src/Cache/Adapter/ZendCacheDriver.php67
34
Concrete\Core\Cache\Adapter\ZendCacheDriver internalGetItem
…/vendor/zendframework/zend-cache/src/Storage/Adapter/AbstractAdapter.php367
33
Zend\Cache\Storage\Adapter\AbstractAdapter getItem
…/vendor/zendframework/zend-i18n/src/Translator/Translator.php564
32
Zend\I18n\Translator\Translator loadMessages
…/vendor/zendframework/zend-i18n/src/Translator/Translator.php442
31
Zend\I18n\Translator\Translator getTranslatedMessage
…/vendor/zendframework/zend-i18n/src/Translator/Translator.php356
30
Zend\I18n\Translator\Translator translate
…/src/Localization/Translator/Adapter/Zend/TranslatorAdapter.php103
29
Concrete\Core\Localization\Translator\Adapter\Zend\TranslatorAdapter translateContext
…/bootstrap/helpers.php91
28
tc
…/elements/header_required.php67
27
include
…/src/View/View.php476
26
Concrete\Core\View\View element
…/src/Legacy/Loader.php39
25
Concrete\Core\Legacy\Loader element
/home/.sites/111/site30/web/application/themes/teplate/elements/header.php6
24
include
…/src/View/View.php109
23
Concrete\Core\View\View inc
/home/.sites/111/site30/web/application/themes/teplate/full.php3
22
include
…/src/View/View.php288
21
Concrete\Core\View\View renderTemplate
…/src/View/View.php250
20
Concrete\Core\View\View renderViewContents
…/src/View/AbstractView.php164
19
Concrete\Core\View\AbstractView render
…/src/Http/ResponseFactory.php149
18
Concrete\Core\Http\ResponseFactory view
…/src/Http/ResponseFactory.php216
17
Concrete\Core\Http\ResponseFactory controller
…/src/Http/ResponseFactory.php367
16
Concrete\Core\Http\ResponseFactory collection
…/src/Http/DefaultDispatcher.php131
15
Concrete\Core\Http\DefaultDispatcher handleDispatch
…/src/Http/DefaultDispatcher.php59
14
Concrete\Core\Http\DefaultDispatcher dispatch
…/src/Http/Middleware/DispatcherDelegate.php39
13
Concrete\Core\Http\Middleware\DispatcherDelegate next
…/src/Http/Middleware/ThumbnailMiddleware.php76
12
Concrete\Core\Http\Middleware\ThumbnailMiddleware process
…/src/Http/Middleware/MiddlewareDelegate.php50
11
Concrete\Core\Http\Middleware\MiddlewareDelegate next
…/src/Http/Middleware/FrameOptionsMiddleware.php39
10
Concrete\Core\Http\Middleware\FrameOptionsMiddleware process
…/src/Http/Middleware/MiddlewareDelegate.php50
9
Concrete\Core\Http\Middleware\MiddlewareDelegate next
…/src/Http/Middleware/CookieMiddleware.php35
8
Concrete\Core\Http\Middleware\CookieMiddleware process
…/src/Http/Middleware/MiddlewareDelegate.php50
7
Concrete\Core\Http\Middleware\MiddlewareDelegate next
…/src/Http/Middleware/ApplicationMiddleware.php29
6
Concrete\Core\Http\Middleware\ApplicationMiddleware process
…/src/Http/Middleware/MiddlewareDelegate.php50
5
Concrete\Core\Http\Middleware\MiddlewareDelegate next
…/src/Http/Middleware/MiddlewareStack.php86
4
Concrete\Core\Http\Middleware\MiddlewareStack process
…/src/Http/DefaultServer.php85
3
Concrete\Core\Http\DefaultServer handleRequest
…/src/Foundation/Runtime/Run/DefaultRunner.php128
2
Concrete\Core\Foundation\Runtime\Run\DefaultRunner run
…/src/Foundation/Runtime/DefaultRuntime.php102
1
Concrete\Core\Foundation\Runtime\DefaultRuntime run
…/dispatcher.php45
0
require
/home/.sites/111/site30/web/index.php31
/home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php
<?php 
/* Cachekey: cache/stash_default/zend/zend_i18n_translator_messages_817601c0e7bd3054c0c41e1e4d6d67aa/ */
/* Type: array */
/* Expiration: 2026-10-24T23:11:12+02:00 */
 
 
 
$loaded = true;
$expiration = 1792876272;
 
$data = array();
 
/* Child Type: object */
$data['return'] = unserialize(base64_decode('TzozMToiWmVuZFxJMThuXFRyYW5zbGF0b3JcVGV4dERvbWFpbiI6NDp7aTowO2k6MDtpOjE7YTozMDA6e3M6OToiJyVzJyB0ZXh0IjtzOjEwOiInJXMnIHRla3N0IjtzOjg6Ii0tICVzIC0tIjtzOjg6Ii0tICVzIC0tIjtzOjEwMToiLi4gYW5kIHRoZSBwbGF5ZXIgY29udHJvbHMgd2lsbCBzbGlkZSBvdXQgb2YgdmlldyBhIGNvdXBsZSBvZiBzZWNvbmRzIGFmdGVyIHRoZSB2aWRlbyBzdGFydHMgcGxheWluZy4iO3M6MTEzOiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gdWl0IGhldCB6aWNodCB2ZXJ3aWplbiBlZW4gcGFhciBzZWNvbmRlbiBuYWRhdCBkZSB2aWRlbyBiZWdpbnQgdGUgc3BlbGVuLiI7czo4NzoiLi4gYW5kIHRoZSB2aWRlbyBwbGF5ZXIgY29udHJvbHMgd2lsbCBiZSB2aXNpYmxlIHRocm91Z2hvdXQgdGhlIHZpZGVvIGFuZCBpbiBmdWxsc2NyZWVuIjtzOjk5OiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gemljaHRiYWFyIHppam4gaW4gZGUgaGVsZSB2aWRlbyBlbiBpbiB2b2xsZWRpZyBzY2hlcm0tbW9kdXMiO3M6NTM6Ii4uIGZhZGVzIG91dCB3aGlsZSB0aGUgcGxheWVyIGNvbnRyb2xzIHJlbWFpbiB2aXNpYmxlIjtzOjYxOiIuLiB2ZXJkd2lqbnQsIHRlcndpamwgZGUgcGxheWVyIGJlZGllbmluZ2VuIHppY2h0YmFhciBibGlqdmVuIjtzOjk1OiI8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIGluIHRoZSBibGFja2xpc3Qgb2YgdG8gYmUgdXNlZCBibG9jayBoYW5kbGVzLiBQbGVhc2UgdHJ5IGFub3RoZXIgaGFuZGxlLiI7czoxMDY6IjxzdHJvbmc+JXM8L3N0cm9uZz4gc3RhYXQgb3AgZGUgendhcnRlIGxpanN0IHZhbiB0ZSBnZWJydWlrZW4gaGFuZHZhdGVuLiBQcm9iZWVyIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdC4iO3M6NDI6IkEgJ1doYXQtWW91LVNlZS1Jcy1XaGF0LVlvdS1HZXQnIHRleHQgYXJlYSI7czo0NjoiRWVuICdXaGF0LVlvdS1TZWUtSXMtV2hhdC1Zb3UtR2V0JyB0ZWtzdGdlYmllZCI7czoyMToiQSBZb3VUdWJlIGVtYmVkIGZpZWxkIjtzOjI4OiJFZW4gWW91VHViZSBlbWJlZCBpbnZvZXJ2ZWxkIjtzOjI2OiJBIGNvbG9yIHBpY2tlciBpbnB1dCBmaWVsZCI7czoyNzoiRWVuIGtsZXVyIGtpZXplciBpbnZvZXJ2ZWxkIjtzOjMzOiJBIGRhdGUgKyB0aW1lLCBkYXRlIG9yIHRpbWUgZmllbGQiO3M6NDI6IkVlbiBkYXR1bSArIHRpamQsIGRhdHVtIG9mIHRpamQgaW52b2VydmVsZCI7czo4MjoiQSBmaWVsZCB3aXRoIG11bHRpcGxlIG9wdGlvbnMgKGFsc28ga25vd24gYXMgZHJvcGRvd24pLCB3aGVyZSB5b3UgbmVlZCB0byBwaWNrIG9uZSI7czo5MjoiRWVuIGludm9lcnZlbGQgbWV0IG1lZXJkZXJlIG9wdGllcyAob29rIHdlbCBiZWtlbmQgYWxzICdkcm9wZG93bicpLCB3YWFyIHUgZXIgZWVuIHNlbGVjdGVlcmQiO3M6MTI6IkEgZmlsZSBmaWVsZCI7czoyMjoiRWVuIGJlc3RhbmQgaW52b2VydmVsZCI7czoxNDoiQSBudW1iZXIgZmllbGQiO3M6MjM6IkVlbiBudW1lcmllayBpbnZvZXJ2ZWxkIjtzOjE1OiJBIHBhZ2Ugc2VsZWN0b3IiO3M6MTc6IkVlbiBwYWdpbmEta2llemVyIjtzOjY2OiJBIHNpbXBsZSB0ZXh0IGFyZWEgdG8gcGxhY2UgaW4geW91ciBQSFAsIEhUTUwsIENTUyAob3Igb3RoZXIpIGNvZGUiO3M6Nzg6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgb20gdXcgUEhQLCBIVE1MLCBDU1MgKG9mIGFuZGVyZSkgY29kZSBpbiB0ZSBwbGFhdHNlbiI7czo2NToiQSBzaW1wbGUgdGV4dCBhcmVhIHdoZXJlIHlvdSBjYW4gdXNlIGFsbCBtYXJrZG93biBmdW5jdGlvbmFsaXRpZXMiO3M6OTA6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgd2FhcmluIGFsbGUgbWFya2Rvd24gZnVuY3Rpb25hbGl0ZWl0ZW4gaW4gZ2VicnVpa3Qga3VubmVuIHdvcmRlbiI7czo0MjoiQSBzaW1wbGUgdGV4dCBhcmVhIHdpdGggbm8gZWRpdGluZyBvcHRpb25zIjtzOjQ5OiJFZW4gZWVudm91ZGlnIHRla3N0Z2ViaWVkIHpvbmRlciBiZXdlcmtpbmdzb3B0aWVzIjtzOjE0OiJBIHN0YWNrcyBmaWVsZCI7czoyNDoiRWVuICdzdGFwZWxzJyBpbnZvZXJ2ZWxkIjtzOjE4OiJBIHRleHQgaW5wdXQgZmllbGQiO3M6MjA6IkVlbiB0ZWtzdCBpbnZvZXJ2ZWxkIjtzOjU2OiJBIHRleHQgaW5wdXQgZmllbGQsIHdoZXJlIHlvdSB3b3VsZCBlbnRlciBhbiBodHRwOi8vIFVSTCI7czo1NzoiRWVuIHRla3N0IGludm9lcnZlbGQsIHdhYXIgdSBlZW4gaHR0cDovLyBVUkwgem91IGludm9lcmVuIjtzOjk6IkFkZCBDb2xvciI7czoxNToiS2xldXIgdG9ldm9lZ2VuIjtzOjc6IkFkZCBSb3ciO3M6MTM6IlJpaiB0b2V2b2VnZW4iO3M6MTE6IkFkZCBhIGZpZWxkIjtzOjE4OiJFZW4gdmVsZCB0b2V2b2VnZW4iO3M6ODoiQWR2YW5jZWQiO3M6MTE6IkdlYXZhbmNlZXJkIjtzOjM0OiJBbGxvdyBhbHBoYSB0cmFuc3BhcmVuY3kgc2VsZWN0aW9uIjtzOjM1OiJTdGEgYWxwaGEgdHJhbnNwYXJlbmN5IHNlbGVjdGllIHRvZSI7czoxMToiQWxsb3cgZW1wdHkiO3M6MTg6IlN0YSBsZWVnd2FhcmRlIHRvZSI7czozNDoiQWx3YXlzIHNob3cgdXAgYXQgZnVsbCBzaXplIChmbGF0KSI7czozODoiVG9vbiBhbHRpamQgb3Agdm9sbGVkaWcgZm9ybWFhdCAocGxhdCkiO3M6MTQ6IkFuIGVtYWlsIGZpZWxkIjtzOjIwOiJFZW4gZW1haWwgaW52b2VydmVsZCI7czoxNzoiQW4gaW1hZ2Ugc2VsZWN0b3IiO3M6MjE6IkVlbiBhZmJlZWxkaW5nLWtpZXplciI7czo1MToiQW4gdW5rbm93biBmaWVsZCB0eXBlIHdhcyBwb3N0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY2OiJFZW4gb25iZWtlbmQgdmVsZCB0eXBlIGlzIG1lZWdlc3R1dXJkLiBQcm9iZWVyIGhldCBhLnUuYi4gb3BuaWV1dy4iO3M6MTAyOiJBbnl0aGluZyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBkaXJlY3RseSBvdXRwdXR0ZWQgdG8gdGhlIGJsb2NrIHZpZXcuIFVzZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gZWRpdCBpdC4iO3M6MTM1OiJBbGxlcyB3YXQgaGllciB3b3JkdCBpbmdldm9lcmQsIHphbCBkaXJlY3QgZ2V0b29uZCB3b3JkZW4gYmlubmVuIGhldCBibG9rIHR5cGUuIEdlYnJ1aWtlcnMgaGViYmVuIGdlZW4gbW9nZWxpamtoZWlkIG9tIGRpdCB0ZSBiZXdlcmtlbi4iO3M6MTk6IkFzIHNlZW4gaW4gdGhlIGZvcm0iO3M6MzA6IlpvYWxzIHRlIHppZW4gaW4gaGV0IGZvcm11bGllciI7czo2OiJBc3NldHMiO3M6NjoiQXNzZXRzIjtzOjk6IkF1dG8gaGlkZSI7czoyMToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIjtzOjk6IkF1dG8gcGxheSI7czoyMToiQXV0b21hdGlzY2ggYWZzcHJlbGVuIjtzOjIxOiJBdXRvbWF0aWNhbGx5IGRpc2FibGUiO3M6MjQ6IkF1dG9tYXRpc2NoIHVpdHNjaGFrZWxlbiI7czo1MjoiQXV0b21hdGljYWxseSBoaWRlIGFmdGVyIGEgcGFsZXR0ZSBjb2xvciBpcyBzZWxlY3RlZCI7czo1OToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIG5hZGF0IGVlbiBwYWxldCBrbGV1ciBpcyBnZXNlbGVjdGVlcmQiO3M6NjoiQmFzaWNzIjtzOjEzOiJCYXNpc2dlZ2V2ZW5zIjtzOjE3OiJCZXR3ZWVuICVzIGFuZCAlcyI7czoxNToiVHVzc2VuICVzIGVuICVzIjtzOjE0OiJCbG9jayBEZXNpZ25lciI7czoxNDoiQmxvY2sgRGVzaWduZXIiO3M6MTI6IkJsb2NrIGhhbmRsZSI7czoxNzoiQmxvayB0eXBlIGhhbmR2YXQiO3M6NjA6IkJsb2NrIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IG1hdGNoIG91ciBwYXR0ZXJuLiI7czo3MjoiQmxvayB0eXBlIGhhbmR2YXQgPHN0cm9uZz4lczwvc3Ryb25nPiBrb210IG5pZXQgb3ZlcmVlbiBtZXQgb25zIHBhdHJvb24uIjtzOjEwOiJCbG9jayBpbmZvIjtzOjIwOiJCbG9rIHR5cGUgaW5mb3JtYXRpZSI7czoxMDoiQmxvY2sgbmFtZSI7czoxNDoiQmxvayB0eXBlIG5hYW0iO3M6MTY6IkJsb2NrIG9yZGVyIGluZm8iO3M6Mjk6IkJsb2sgdHlwZSB2b2xnb3JkZSBpbmZvcm1hdGllIjtzOjM1OiJCbG9jayB0eXBlICVzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiI7czo0MjoiQmxvayB0eXBlIHR5cGUgJXMgaXMgc3VjY2Vzdm9sIGdlY3Jlw6tlcmQuIjtzOjU2OiJCbG9jayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gZG9lcyBub3QgZXhpc3QgKGFueW1vcmUpLiI7czo1MDoiQmxvayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gYmVzdGFhdCBuaWV0IChtZWVyKS4iO3M6NTI6IkJsb2NrIHR5cGUgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyBhbHJlYWR5IGluc3RhbGxlZC4iO3M6NTQ6IkJsb2sgdHlwZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiI7czoxNTI6IkJsb2NrIHR5cGUgZm9sZGVyIDxzdHJvbmc+JXM8L3N0cm9uZz4gYWxyZWFkeSBleGlzdHMuIFlvdSB3YW50IHRvIDxhIGhyZWY9IiVzIiBjbGFzcz0iZGVsZXRlX2ZvbGRlciI+PHN0cm9uZz5kZWxldGUgdGhpcyBibG9jayB0eXBlIGZvbGRlcjwvc3Ryb25nPjwvYT4/IjtzOjE0MzoiQmxvayB0eXBlIG1hcCA8c3Ryb25nPiVzPC9zdHJvbmc+IGJlc3RhYXQgcmVlZHMuIFdpbHQgdSA8YSBocmVmPSIlcyIgY2xhc3M9ImRlbGV0ZV9mb2xkZXIiPjxzdHJvbmc+ZGV6ZSBibG9rIHR5cGUgbWFwIHZlcndpamRlcmVuPC9zdHJvbmc+PC9hPj8iO3M6MzQ6IkJsb2NrIHR5cGUgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4iO3M6Mzg6IkJsb2sgdHlwZSBpcyBzdWNjZXN2b2wgZ2XDr25zdGFsbGVlcmQuIjtzOjE0OiJCbG9jayB0eXBlIHNldCI7czoxNToiQmxvayB0eXBlIGdyb2VwIjtzOjEyNDoiQmxvY2sgdHlwZSB3aXRoIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGFscmVhZHkgaW5zdGFsbGVkLiBQbGVhc2UgdXNlIGEgZGlmZmVyZW50IGhhbmRsZSwgYmVmb3JlIGNvbnRpbnVpbmcgdGhpcyBwcm9jZXNzLiI7czoxMzU6IkJsb2sgdHlwZSBtZXQgaGFuZHZhdCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiBHZWJydWlrIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdCwgdm9vcmRhdCB1IGRvb3JnYWF0IG1ldCBkaXQgcHJvY2VzLiI7czo0NToiQnVpbGQgUEhQIHN3aXRjaCwgSSB3aWxsIGNvZGUgdGhlIHJlc3QgbXlzZWxmIjtzOjQ2OiJCb3V3IGRlIFBIUCBzd2l0Y2gsIGlrIGNvZGVlciBkZSByZXN0IHplbGYgd2VsIjtzOjE4OiJDYWNoZSBibG9jayBvdXRwdXQiO3M6MTg6IkNhY2hlIGJsb2NrIG91dHB1dCI7czozOToiQ2FjaGUgYmxvY2sgb3V0cHV0IGZvciByZWdpc3RlcmVkIHVzZXJzIjtzOjQ5OiJDYWNoZSBibG9jayBvdXRwdXQgdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjI3OiJDYWNoZSBibG9jayBvdXRwdXQgbGlmZXRpbWUiO3M6MjM6IkNhY2hlIGJsb2NrIG91dHB1dCBkdXVyIjtzOjI2OiJDYWNoZSBibG9jayBvdXRwdXQgb24gcG9zdCI7czo0NToiQ2FjaGUgYmxvY2sgb3V0cHV0IG1ldCBmb3JtdWxpZXIvcG9zdCB3YWFyZGVzIjtzOjE4OiJDYWNoZSBibG9jayByZWNvcmQiO3M6MTg6IkNhY2hlIGJsb2NrIHJlY29yZCI7czo2OiJDYW5jZWwiO3M6OToiQW5udWxlcmVuIjtzOjY6IkNob29zZSI7czo2OiJLaWV6ZW4iO3M6OToiQ2xhc3MoZXMpIjtzOjExOiJLbGFzc2VuYW1lbiI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHRoZSBpRnJhbWUsIGkuZS4gJyVzJyI7czo2ODoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBkZSBpRnJhbWUsIGJpanYuICclcyciO3M6NTM6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGVtYWlsIGFuY2hvciwgaS5lLiAnJXMnIjtzOjcyOiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGVtYWlsIGxpbmssIGJpanYuICclcyciO3M6NDU6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGZpbGUsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBoZXQgYmVzdGFuZCwgYmlqdi4gJyVzJyI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW1hZ2UsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gZGllIHp1bGxlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gZGUgYWZiZWVsZGluZywgYmlqdi4gJyVzJyI7czo0NToiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgbGluaywgaS5lLiAnJXMnIjtzOjY2OiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGxpbmssIGJpanYuICclcyciO3M6MjE6IkNsZWFyIENvbG9yIFNlbGVjdGlvbiI7czoxNzoiV2lzIGtsZXVyc2VsZWN0aWUiO3M6Nzg6IkNsaWNrIG9uIGEgZGVzaXJlZCBibG9jayB0eXBlIHRvIGxvYWQgdGhlIGNvbmZpZyBpbnRvIHRoZSBCbG9jayBEZXNpZ25lciBmb3JtLiI7czo5NDoiS2xpayBvcCBlZW4gZ2V3ZW5zdGUgYmxvayB0eXBlIG9tIGRlIGNvbmZpZ3VyYXRpZSBpbiBoZXQgQmxvY2sgRGVzaWduZXIgZm9ybXVsaWVyIGluIHRlIGxhZGVuLiI7czoyMToiQ2xpY2tvdXQgZmlyZXMgY2hhbmdlIjtzOjM1OiJFcmJ1aXRlbiBrbGlra2VuIGFjdGl2ZWVydCBgY2hhbmdlYCI7czo0OiJDb2RlIjtzOjQ6IkNvZGUiO3M6MTI6IkNvbGxhcHNlIEFsbCI7czoxNToiQWxsZXMgaW5rbGFwcGVuIjtzOjEyOiJDb2xvciBQaWNrZXIiO3M6MTE6IktsZXVya2llemVyIjtzOjI1NzoiQ29weS9wYXN0ZSB0aGUgQ1NTIGFuZCBKYXZhU2NyaXB0IHlvdSBuZWVkIGhlcmUsIGluIG9yZGVyIHRvIGdldCB5b3VyIGJsb2NrIHNob3cvYmVoYXZlIGxpa2UgaXQgc2hvdWxkLiBUaGluayB0d2ljZSBpZiB0aGUgYXNzZXRzIHlvdSBuZWVkLCByZWFsbHkgY2FuIG5vdCBiZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSB0aGVtZS4gTG9hZGluZyBtb3JlIGFzc2V0cyB3aWxsIG1lYW4gbW9yZSByZXF1ZXN0cyB0byB5b3VyIHdlYnNpdGUgKHBlciB1c2VyKSEiO3M6MzA4OiIgS29waWVlci9wbGFrIGRlIENTUyBlbiBKYXZhU2NyaXB0IGRpZSBqZSBub2RpZyBoZWJ0IGhpZXIsIG9tIGplIGJsb2stZm9ybWFhdCB0ZSB0b25lbi9sYXRlbiB3ZXJrZW4gem9hbHMgaGV0IGhvb3J0LiBEZW5rIGdvZWQgbmEgb2YgZGUgYXNzZXRzIGRpZSBqZSBub2RpZyBoZWJ0LCBkYWFkd2Vya2VsaWprIG5pZXQgaW4gaGV0IHRoZW1hIGdlw69tcGxlbWVudGVlcmQga3VubmVuIHdvcmRlbi4gSGV0IGxhZGVuIHZhbiBtZWVyIGFzc2V0cyBiZXRla2VudCBtZWVyIHZlcnpvZWtlbiBuYWFyIGplIHdlYnNpdGUgKHBlciBnZWJydWlrZXIpISI7czo5OToiQ3JlYXRlIGEgbmV3IGJsb2NrIHR5cGUgYnkgZW50ZXJpbmcgc29tZSBiYXNpYyBpbmZvIGFuZCBhZGRpbmcgb25lIG9yIG1vcmUgZmllbGRzIChmaWVsZHMgc2VjdGlvbikuIjtzOjEyMDoiTWFhayBlZW4gbmlldXcgYmxvayB0eXBlLCBkb29yIGVua2VsZSBiYXNpc2dlZ2V2ZW5zIGluIHRlIHZ1bGxlbiBlbiBlZW4gb2YgbWVlcmRlcmUgdmVsZGVuIHRvZSB0ZSB2b2VnZW4gKHZlbGRlbiBzZWN0aWUpIjtzOjQ0OiJDcm9wIHRoZSBpbWFnZSB0byB0aGUgZ2l2ZW4gd2lkdGggYW5kIGhlaWdodCI7czo1MzoiU25pamQgZGUgYWZiZWVsZGluZyB0b3QgZWVuIGdlZ2V2ZW4gYnJlZWR0ZSBlbiBob29ndGUiO3M6NjoiQ3VzdG9tIjtzOjk6IkFhbmdlcGFzdCI7czoxMToiQ3VzdG9tIHNpemUiO3M6MTg6IkFhbmdlcGFzdGUgZ3Jvb3R0ZSI7czoxNzoiRGF0YWJhc2UgZGVjaW1hbHMiO3M6MTg6IkRhdGFiYXNlIGRlY2ltYWxlbiI7czoxNToiRGF0YWJhc2UgbGVuZ3RoIjtzOjE1OiJEYXRhYmFzZSBsZW5ndGUiO3M6OToiRGF0ZSBUaW1lIjtzOjEwOiJEYXR1bSB0aWpkIjtzOjExOiJEYXRlIGZvcm1hdCI7czoxMjoiRGF0dW1ub3RhdGllIjtzOjI4OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlnIjtzOjM0OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlndXJhdGllIjtzOjEzOiJEZWNpbWFsIHBvaW50IjtzOjEzOiJEZWNpbWFhbHRla2VuIjtzOjg6IkRlY2ltYWxzIjtzOjk6IkRlY2ltYWxlbiI7czoyMjoiRGVmYXVsdCBibG9jayB0eXBlIHNldCI7czoyNToiU3RhbmRhYXJkIGJsb2sgdHlwZSBncm9lcCI7czoxMjoiRGVmYXVsdCBkYXRlIjtzOjE1OiJTdGFuZGFhcmQgZGF0dW0iO3M6Mjg6IkRlZmF1bHRzIHRvIHRvZGF5ICsxMDAgeWVhcnMiO3M6MzM6IlZhbHQgdGVydWcgbmFhciB2YW5kYWFnICsxMDAgamFhciI7czo2OiJEZWxldGUiO3M6MTE6IlZlcndpamRlcmVuIjtzOjEwOiJEZWxldGUgUm93IjtzOjE1OiJSaWogdmVyd2lqZGVyZW4iO3M6MTE6IkRlc2NyaXB0aW9uIjtzOjEyOiJPbXNjaHJpanZpbmciO3M6NTE6IkRlc2lnbiB5b3VyIG93biBjb250ZW50IGJsb2NrcyB3aXRoaW4gYSBmZXcgY2xpY2tzISI7czo1NzoiT250d2VycCBqZSBlaWdlbiBjb250ZW50IGJsb2trZW4gYmlubmVuIGVlbiBwYWFyIGtsaWtrZW4hIjtzOjEyOiJEZXZlbG9wZWQgYnkiO3M6MTU6Ik9udHdpa2tlbGQgZG9vciI7czoxNDoiRGlyZWN0IGluc3RhbGwiO3M6MTg6IkRpcmVjdCBpbnN0YWxsZXJlbiI7czoyMDg6IkRpcmVjdG9yeSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IGV4aXN0IGFuZCBuZWVkcyB0byBleGlzdCBiZWZvcmUgeW91IGNhbiB1c2UgdGhpcyBwYWNrYWdlLiBQbGVhc2UgY3JlYXRlIHRoaXMgaW4geW91ciBlbnZpcm9ubWVudCBhbmQgZ2l2ZSBpdCByZWFkLCB3cml0ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9ucyAoPHN0cm9uZz4wNzc3PC9zdHJvbmc+KS4iO3M6MjAzOiJNYXAgPHN0cm9uZz4lczwvc3Ryb25nPiBiZXN0YWF0IG5pZXQgZW4gbW9ldCBiZXN0YWFuIHZvb3JkYXQgZGV6ZSBleHRlbnNpZSBnZWJydWlrdCBrYW4gd29yZGVuLiBNYWFrIGRlemUgbWFwIGFhbiBpbiB1dyBvbWdldmluZyBlbiBnZWVmIGhldCBsZWVzLSwgc2NocmlqZi0gZW4gdWl0dm9lciBwZXJtaXNzaWVzICg8c3Ryb25nPjA3Nzc8L3N0cm9uZz4pLiI7czoxNjoiRGlzYWJsZSBrZXlib2FyZCI7czoyMToiS2V5Ym9hcmQgdWl0c2NoYWtlbGVuIjtzOjIxOiJEaXNhbGxvdyBmbG9hdCBudW1iZXIiO3M6MjY6IkRlY2ltYWxlIGdldGFsbGVuIHdlaWdlcmVuIjtzOjQ1OiJEbyBub3Qgc2V0IHRoZSB2YWx1ZSB0byB0aGUgY3VycmVudCBkYXRlL3RpbWUiO3M6NDU6IlpldCBkZSB3YWFyZGUgbmlldCBuYWFyIGRlIGh1aWRpZ2UgZGF0dW0vdGlqZCI7czo1NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGEgdGl0bGUgY2FuIGJlIGVudGVyZWQiO3M6NjM6IlRvb24gZ2VlbiBleHRyYSBpbnZvZXJ2ZWxkLCB3YWFyIGVlbiB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czo3NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGFuIGFsdGVybmF0aXZlIChwYWdlKSB0aXRsZSBjYW4gYmUgZW50ZXJlZCI7czo4NToiVG9vbiBnZWVuIGV4dHJhIGludm9lcnZlbGQsIHdhYXIgZWVuIGFsdGVybmF0aWV2ZSAocGFnaW5hKSB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czozMToiRG8gbm90IHNob3cgdGhlIHRvZGF5IGluZGljYXRvciI7czozNDoiVG9vbiBkZSBodWlkaWdlIGRhZyBpbmRpY2F0b3IgbmlldCI7czoyNDQ6IkRyYWcgYW5kIGRyb3AgZWFjaCBmaWVsZCB0eXBlIGluIHRoZSBwb3NpdGlvbiB5b3Ugd2FudCB0aGVtIGluLiBUaGUgb25lcyB0aGF0IGFyZSBjb2xvcmVkIHJlZCwgYXJlIGZpZWxkcyB0aGF0IGFyZSBzZWxlY3RlZCB1bmRlciB0aGUgJ0hpZGUgRmllbGQgVHlwZXMnLiBUaGlzIHdheSB5b3Uga25vdyB3aGljaCBvbmVzIGFyZSBoaWRkZW4gYW5kIHlvdSBjb3VsZCBkcmFnIHRoZW0gdG8gdGhlIGJvdHRvbSBvZiB0aGUgbGlzdC4iO3M6MjU1OiJTbGVlcCBlbGsgdmVsZCB0eXBlIG5hYXIgZGUgZ2V3ZW5zdGUgcG9zaXRpZS4gRGUgdmVsZCB0eXBlcyByb29kIGdla2xldXJkIHppam4gZGV6ZSBkaWUgemlqbiBnZXNlbGVjdGVlcmQgb25kZXIgJ1ZlcmJlcmcgdmVsZCB0eXBlcycuIFZpYSBkZXplIHdlZyBpcyBoZXQgbWFra2VsaWprIHRlIHppZW4gd2Vsa2UgdmVyYm9yZ2VuIHppam4gZW4ga3VubmVuIGRlemUgbmFhciBkZSBvbmRlcmthbnQgdmFuIGRlIGxpanN0IGdlc2xlZXB0IHdvcmRlbi4iO3M6MzA6IkVjaG8gdGhlIHNlbGVjdGVkIGtleSwgaS5lLiAlcyI7czozNToiRWNobyBkZSBnZXNlbGVjdGVlcmRlIGtleSwgYmlqdi4gJXMiO3M6MzI6IkVjaG8gdGhlIHNlbGVjdGVkIHZhbHVlLCBpLmUuICVzIjtzOjM4OiJFY2hvIGRlIGdlc2VsZWN0ZWVyZGUgd2FhcmRlLCBiaWp2LiAlcyI7czoxMzoiRW1haWwgc3ViamVjdCI7czoxNToiRW1haWwgb25kZXJ3ZXJwIjtzOjI4OiJFbmFibGUgcHJpdmFjeS1lbmhhbmNlZCBtb2RlIjtzOjM3OiJVaXRnZWJyZWlkZSBwcml2YWN5IG1vZHVzIGluc2NoYWtlbGVuIjtzOjM6IkVuZCI7czo1OiJFaW5kZSI7czo5MjoiRW50ZXIgeW91ciBzdGF0aWMgSFRNTCBoZXJlIChvciBhbnkgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSBwcmVmZXIsIGxpa2UgQ1NTL0pTL1BIUCkiO3M6ODc6IlZ1bCB1dyBzdGF0aXNjaGUgSFRNTCBoaWVyIGluIChvZiBlbGtlIGFuZGVyZSBwcm9ncmFtbWVlcnRhYWwgdSB3aWx0LCB6b2FscyBDU1MvSlMvUEhQKSI7czoxMDoiRXhwYW5kIEFsbCI7czoxNjoiQWxsZXMgdWl0a2xhcHBlbiI7czoxNDoiRmFsbGJhY2sgdmFsdWUiO3M6MTU6IlRlcnVndmFsIHdhYXJkZSI7czozNzoiRmllbGQgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyByZXF1aXJlZCI7czozNzoiVmVsZCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHZlcnBsaWNodCI7czoyMzoiRmllbGQgVHlwZSBDdXN0b20gT3JkZXIiO3M6Mjk6IlZlbGQgdHlwZSBhYW5nZXBhc3RlIHZvbGdvcmRlIjtzOjI5OiJGaWVsZCBUeXBlIEhhbmRsZSAoYXNjZW5kaW5nKSI7czoyODoiVmVsZCB0eXBlIGhhbmR2YXQgKG9wbG9wZW5kKSI7czozMDoiRmllbGQgVHlwZSBIYW5kbGUgKGRlc2NlbmRpbmcpIjtzOjI4OiJWZWxkIHR5cGUgaGFuZHZhdCAoYWZsb3BlbmQpIjtzOjI3OiJGaWVsZCBUeXBlIE5hbWUgKGFzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChvcGxvcGVuZCkiO3M6Mjg6IkZpZWxkIFR5cGUgTmFtZSAoZGVzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChhZmxvcGVuZCkiO3M6MTg6IkZpZWxkIFR5cGUgU29ydGluZyI7czoxOToiVmVsZCB0eXBlIHNvcnRlcmluZyI7czo2OiJGaWVsZHMiO3M6NjoiVmVsZGVuIjtzOjY4OiJGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4gRGVmYXVsdCB2YWx1ZXMgc2hvdWxkIGJlIE9LIGZvciBhbGwgdXNhZ2VzLiI7czo5MToiRW5rZWwgdm9vciBnZWF2YW5jZWVyZGUgZ2VicnVpa2Vycy4gU3RhbmRhYXJkIHdhYXJkZXMgbW9ldGVuIE9LIHppam4gdm9vciBhbGxlIHRvZXBhc3NpbmdlbiI7czoxNToiR2VuZXJhbCBPcHRpb25zIjtzOjE1OiJBbGdlbWVuZSBvcHRpZXMiO3M6NjoiSGFuZGxlIjtzOjc6IkhhbmR2YXQiO3M6NjoiSGVpZ2h0IjtzOjY6Ikhvb2d0ZSI7czozOiJIZXgiO3M6MzoiSGV4IjtzOjMwOiJIZXggKDMgQ2hhcmFjdGVycyBJZiBQb3NzaWJsZSkiO3M6MzM6IkhleCAoMyBrYXJha3RlcnMgaW5kaWVuIG1vZ2VsaWprKSI7czoxNjoiSGlkZSBGaWVsZCBUeXBlcyI7czoxODoiVmVyYmVyZyB2ZWxkIHR5cGVzIjtzOjE3OiJIaWRlIFlvdVR1YmUgbG9nbyI7czoyMDoiVmVyYmVyZyBZb3VUdWJlIGxvZ28iO3M6MjA6IkhpZGUgcGxheWVyIGNvbnRyb2xzIjtzOjMxOiJWZXJiZXJnIHZpZGVvc3BlbGVyIGJlZGllbmluZ2VuIjtzOjQ1OiJIaWRlIHN1Z2dlc3RlZCB2aWRlb3Mgd2hlbiB0aGUgdmlkZW8gZmluaXNoZXMiO3M6NjY6IlZlcmJlcmcgdm9vcmdlc3RlbGRlIHZpZGVvcyB3YW5uZWVyIGRlIHZpZGVvIGtsYWFyIGlzIG1ldCBhZnNwZWxlbiI7czoyMDoiSGlkZSB0aGUgZGF0ZSBwaWNrZXIiO3M6MjM6IlZlcmJlcmcgZGUgZGF0dW0ga2llemVyIjtzOjIzOiJIaWRlIHRoZSBtaW51dGVzIHBpY2tlciI7czoyNToiVmVyYmVyZyBkZSBtaW51dGVuIGtpZXplciI7czoyMzoiSGlkZSB0aGUgc2Vjb25kcyBwaWNrZXIiO3M6MjY6IlZlcmJlcmcgZGUgc2Vjb25kZW4ga2llemVyIjtzOjIwOiJIaWRlIHRoZSB0aW1lIHBpY2tlciI7czoyMjoiVmVyYmVyZyBkZSB0aWpkIGtpZXplciI7czoxNjoiSGlkZSB0aXRsZSBmaWVsZCI7czoxODoiVmVyYmVyZyB0aXRlbCB2ZWxkIjtzOjM1OiJIaWRlIHZpZGVvIHRpdGxlIGFuZCBwbGF5ZXIgYWN0aW9ucyI7czo0MToiVmVyYmVyZyB2aWRlbyB0aXRlbCBlbiB2aWRlb3NwZWxlciBhY3RpZXMiO3M6Mzc6IkhvdyBtYW55IGRlY2ltYWxzIHRoZSBudW1iZXIgbWF5IGhhdmUiO3M6NDE6IkhvZXZlZWwgZGVjaW1hbGVuIGhldCBudW1tZXIgbWFnIGJldmF0dGVuIjtzOjYyOiJIb3cgbWFueSBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiB0aGUgc2VsZWN0aW9uIHBhbGV0dGUgYXQgb25jZSI7czo3NDoiSG9ldmVlbCBlbGVtZW50ZW4gdGVnZWxpamsgZXIgemlqbiB0b2VnZXN0YWFuIGluIGRlIHNlbGVjdGllIHZhbiBoZXQgcGFsZXQiO3M6MzoiSHNsIjtzOjM6IkhzbCI7czoxOToiSHVtYW4tcmVhZGFibGUgbmFtZSI7czoxMzoiTGVlc2JhcmUgbmFhbSI7czo0OiJJY29uIjtzOjk6IlBpY3RvZ3JhbSI7czo3NzoiSWRlYWxseSBhIDUweDUwIHBpeGVscyBpbWFnZSB0byBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoIHRoaXMgYmxvY2sgZnJvbSBvdGhlcnMiO3M6OTI6IklkZWFsaXRlciBlZW4gNTB4NTAgcGl4ZWxzIGFmYmVlbGRpbmcsIGdlYnJ1aWt0IG9tIGRpdCBibG9rIHR5cGUgdGUgb25kZXJzY2hlaWRlbiB2YW4gYW5kZXJlIjtzOjk1OiJJZiBsZWZ0IGJsYW5rIGFuZCB0aGUgdXNlciBkb2VzIG5vdCBmaWxsIGluIGEgdGl0bGUsIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHdpbGwgYmUgdXNlZCBhcyB0aXRsZSI7czoxMDk6IkluZGllbiBsZWVnIGdlbGF0ZW4gZW4gZGUgZ2VicnVpa2VyIHZ1bHQgZ2VlbiB0aXRlbCBpbiwgemFsIGRlIG5hYW0gdmFuIGhldCBiZXN0YW5kIGdlYnJ1aWt0IHdvcmRlbiBhbHMgdGl0ZWwiO3M6MTA0OiJJZiB0aGUgaGFuZGxlIGlzIGZvdW5kLCBpdCB3aWxsIHVzZSBpdHMgZGF0YSB0byBjcmVhdGUgdGhlIGltYWdlIHdpdGggdGhlIGdpdmVuIHdpZHRoL2hlaWdodCAoZ28gdG8gJXMpLiI7czoxMjg6IkFscyBoZXQgaGFuZHZhdCBpcyBnZXZvbmRlbiwgemFsIGhldCBkZXplIGRhdGEgZ2VicnVpa2VuIG9tIGRlIGFmYmVlbGRpbmdlbiB0ZSBtYWtlbiBtZXQgZGUgZ2VnZXZlbiBicmVlZHRlL2hvb2d0ZSAoZ2EgbmFhciAlcykuIjtzOjEzMToiSWYgdGhlcmUgYXJlIG5vIGJ1dHRvbnMsIHRoZSBiZWhhdmlvciB3aWxsIGJlIHRvIGZpcmUgdGhlIGBjaGFuZ2VgIGV2ZW50IChhbmQgdXBkYXRlIHRoZSBvcmlnaW5hbCBpbnB1dCkgd2hlbiB0aGUgcGlja2VyIGlzIGNsb3NlZC4iO3M6MTYyOiJJbmRpZW4gZXIgZ2VlbiBrb3BwZW4gemlqbiwgemFsIGhldCBnZWRyYWcgemlqbiBvbSBoZXQgYGNoYW5nZWAgZXZlbnQgdGUgYWN0aXZlcmVuIChlbiBoZXQgdXBkYXRlbiB2YW4gZGUgb3JpZ2luZWxlIGludm9lcikgd2FubmVlciBkZSBjb2xvcnBpY2tlciB3b3JkdCBnZXNsb3Rlbi4iO3M6NDI6Iklnbm9yZSBQYWdlIFRoZW1lIEdyaWQgRnJhbWV3b3JrIENvbnRhaW5lciI7czo0MjoiTmVnZWVyIFBhZ2UgVGhlbWUgR3JpZCBGcmFtZXdvcmsgQ29udGFpbmVyIjtzOjk6Ikluc3RhbGxlZCI7czoxNDoiR2XDr25zdGFsbGVlcmQiO3M6OToiSW50ZXJmYWNlIjtzOjk6IkludGVyZmFjZSI7czo0ODoiS2VlcCB0cmFjayBvZiB3aGF0IGhhcyBiZWVuIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIjtzOjU0OiJIb3VkdCBiaWogdmFuIHdhdCBlciBpcyBnZXNlbGVjdGVlcmQgZG9vciBkZSBnZWJydWlrZXIiO3M6NToiTGFiZWwiO3M6NToiTGFiZWwiO3M6NDoiTGluayI7czo0OiJMaW5rIjtzOjI2OiJMaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdyI7czozMToiTGluayBvcGVudCBpbiBlZW4gbmlldXcgdmVuc3RlciI7czo0OiJMb29wIjtzOjEzOiJMb29wL2hlcmhhbGVuIjtzOjg3OiJMb3dlcmNhc2UgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIG9ubHksIHdpdGggYSBtaW5pbXVtIG9mICVzIGFuZCBtYXhpbXVtIG9mICVzIGNoYXJhY3RlcnMiO3M6MTA1OiJFbmtlbCBrbGVpbmUgbGV0dGVycywgaG9vZmRsZXR0ZXJzIGVuIHVuZGVyc2NvcmVzLCBtZXQgZWVuIG1pbWludW0gdmFuICVzIGVuIGVlbiBtYXhpbXVtIHZhbiAlcyBrYXJha3RlcnMiO3M6MTExOiJMb3dlcmNhc2UgbGV0dGVycyBhbmQgdW5kZXJzY29yZXMgb25seSAod2l0aG91dCBzdGFydGluZy9lbmRpbmcgd2l0aCB1bmRlcnNjb3JlcykgYW5kIGEgbWluaW11bSBvZiAzIGNoYXJhY3RlcnMiO3M6MTExOiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3JlcyAoem9uZGVyIGJlZ2lubmVuZC9laW5kaWdlbmQgbWV0IHVuZGVyc2NvcmVzKSBlbiBlZW4gbWluaW11bSB2YW4gMyBrYXJha3RlcnMiO3M6ODY6Ikxvd2VyY2FzZSBsZXR0ZXJzIGFuZCB1bmRlcnNjb3JlcyBvbmx5LiBDaG9vc2UgZnJvbSAlcyBvciBvbmUgb2YgeW91ciBvd24gc2V0IGhhbmRsZXMuIjtzOjk1OiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3Jlcy4gS2llcyB1aXQgJXMgb2YgZWVuIHZhbiB1dyBlaWdlbiBibG9rIHR5cGUgZ3JvZXAgaGFuZHZhdGVuLiI7czoyOToiTWFrZSBhIHRodW1ibmFpbCBvZiB0aGUgaW1hZ2UiO3M6MzY6Ik1hYWsgZWVuIG1pbmlhdHV1ciB2YW4gZGUgYWZiZWVsZGluZyI7czoxNToiTWFrZSB0aGUgYmxvY2shIjtzOjE0OiJNYWFrIGhldCBibG9rISI7czoxODoiTWF4IFNlbGVjdGlvbiBTaXplIjtzOjI0OiJNYXhpbWFsZSBzZWxlY3RpZSBhYW50YWwiO3M6MTI6Ik1heGltdW0gZGF0ZSI7czoxMzoiTWF4aW11bSBkYXR1bSI7czoxNDoiTWF4aW11bSBudW1iZXIiO3M6MTQ6Ik1heGltYWFsIGdldGFsIjtzOjI4OiJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIjtzOjI1OiJNYXhpbWFhbCBhYW50YWwga2FyYWt0ZXJzIjtzOjE0OiJNYXhpbXVtIHN0YWNrcyI7czoxNToiTWF4aW11bSBzdGFwZWxzIjtzOjEyOiJNaW5pbXVtIGRhdGUiO3M6MTM6Ik1pbmltdW0gZGF0dW0iO3M6MTQ6Ik1pbmltdW0gbnVtYmVyIjtzOjE0OiJNaW5pbWFhbCBnZXRhbCI7czoxNDoiTWluaW11bSBzdGFja3MiO3M6MTU6Ik1pbmltdW0gc3RhcGVscyI7czoxNToiTWludXRlIHN0ZXBwaW5nIjtzOjE0OiJNaW51dXQgc3RhcHBlbiI7czoxMzoiTXkgQmxvY2sgTmFtZSI7czoxNDoiTWlqbiBibG9rIG5hYW0iO3M6NDoiTmFtZSI7czo0OiJOYWFtIjtzOjI0OiJOYW1lIChGYWxscyBiYWNrIHRvIGhleCkiO3M6MjY6Ik5hYW0gKHZhbHQgdGVydWcgbmFhciBoZXgpIjtzOjU6Ik5hbWVkIjtzOjc6IkJlbm9lbWQiO3M6MjI6Ik5ldyBsaW5lIHRvIGJsYW5rIHJ1bGUiO3M6MzQ6Ik5pZXV3ZSByZWdlbCBuYWFyIHdpdHJlZ2VsIChubDJicikiO3M6MjoiTm8iO3M6MzoiTmVlIjtzOjQ4OiJObyAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIGJlZW4gZW50ZXJlZC4iO3M6NTE6IkdlZW4gJXMgdm9vciBkZSBhZmJlZWxkaW5nIG9wIHJpaiAjJXMgaXMgaW5nZXZvZXJkLiI7czoxNzoiTm8gQ29sb3IgU2VsZWN0ZWQiO3M6MjM6IkdlZW4ga2xldXIgZ2VzZWxlY3RlZXJkIjtzOjQzOiJObyBzZWxlY3QgY2hvaWNlcyB3ZXJlIGVudGVyZWQgZm9yIHJvdyAjJXMuIjtzOjQ4OiJHZWVuIHNlbGVjdCBrZXV6ZXMgemlqbiBpbmdldm9lcmQgdm9vciByaWogIyUgcy4iO3M6NDoiTm9uZSI7czo0OiJHZWVuIjtzOjIzOiJOb25lIChEZXBlbmRzIG9uIGlucHV0KSI7czozNjoiR2VlbiAoaGFuZ3QgYWYgdmFuIGluZ2V2dWxkZSB3YWFyZGUpIjtzOjEzOiJOb3QgSW5zdGFsbGVkIjtzOjE5OiJOaWV0IGdlw69uc3RhbGxlZXJkIjtzOjY6Ik51bWJlciI7czo2OiJOdW1tZXIiO3M6MTM6Ik51bWJlciBmb3JtYXQiO3M6MTI6IkdldGFsbm90YXRpZSI7czo1MzoiT25lIG9yIG11bHRpcGxlIGZpZWxkcyBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgYSBibG9jay4iO3M6NjU6IkVlbiBvZiBtZWVyZGVyZSB2ZWxkZW4gemlqbiB2ZXJwbGljaHQgb20gZWVuIGJsb2sgdHlwZSB0ZSBib3V3ZW4uIjtzOjQyOiJPbmx5IG91dHB1dCB0aGUgc291cmNlIChwYXRoKSBvZiB0aGUgaW1hZ2UiO3M6NDQ6IkFsbGVlbiBkZSBicm9uIChwYWQpIHZhbiBkZSBhZmJlZWxkaW5nIHRvbmVuIjtzOjE1NjoiT3JkZXIgeW91ciBibG9ja3MgZm9yIGVhY2ggYmxvY2sgdHlwZSBzZXQuIFRoZSBvcmRlciBpbiB3aGljaCB5b3UgYXJyYW5nZSBibG9ja3MgaXMgaW4gd2hpY2ggb3JkZXIgdGhleSB3aWxsIHNob3cgdXAgd2hpbGUgZHJhZ2dpbmcgYmxvY2tzIG9uIHRoZSBmcm9udCBlbmQuIjtzOjE4MzoiT3JkZW4gdXcgYmxvayB0eXBlcyB2b29yIGVsayBibG9rIHR5cGUgZ3JvZXAuIERlIHZvbGdvcmRlIHdhYXJpbiB1IGRlIGJsb2sgdHlwZXMgcGxhYXRzdCwgaXMgZGUgdm9sZ29yZGUgZGllIGdldG9vbmQgd29yZCB3YW5uZWVyIHUgYmxvayB0eXBlcyB0b2V2b2VndCBhYW4gZGUgdm9vcmthbnQgdmFuIGRlIHdlYnNpdGUuIjtzOjU6Ik90aGVyIjtzOjY6IkFuZGVycyI7czo0OiJQYWdlIjtzOjY6IlBhZ2luYSI7czoxNToiUGFsZXR0ZSBPcHRpb25zIjtzOjEyOiJQYWxldCBvcHRpZXMiO3M6MTI6IlBhbGV0dGUgUm93cyI7czoxMToiUGFsZXQgcmlqZW4iO3M6MTE6IlBsYWNlaG9sZGVyIjtzOjExOiJQbGFjZWhvbGRlciI7czozNzoiUG9zaXRpb25lZCBhcyBhbiBpbmxpbmUtYmxvY2sgZWxlbWVudCI7czo0NToiR2Vwb3NpdGlvbmVlcmQgYWxzIGVlbiAnaW5saW5lLWJsb2NrJyBlbGVtZW50IjtzOjExNDoiUG9zaXRpb25lZCBiZWxvdyB0aGUgY29sb3JwaWNrZXIgdG8gbWFrZSBpdCBjb252ZW5pZW50IGZvciB1c2VycyB0byBjaG9vc2UgZnJvbSBmcmVxdWVudGx5IG9yIHJlY2VudGx5IHVzZWQgY29sb3JzIjtzOjEyNToiR2Vwb3NpdGlvbmVlcmQgb25kZXIgZGUgY29sb3JwaWNrZXIsIG9tIGhldCBoYW5kaWcgdGUgbWFrZW4gdm9vciBnZWJydWlrZXJzIG9tIHRlIGtpZXplbiB1aXQgdmFhayBvZiByZWNlbnQgZ2VicnVpa3RlIGtsZXVyZW4iO3M6MTY6IlByZWZlcnJlZCBGb3JtYXQiO3M6MTU6Ikdld2Vuc3RlIGZvcm1hdCI7czo0NjoiUHJldmVudHMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIGZyb20gZGlzcGxheWluZyI7czo0OToiVm9vcmtvbXQgZGF0IGRlIHZvbGxlZGlnIHNjaGVybS1rbm9wIHppY2h0YmFhciBpcyI7czoyMToiUmVxdWlyZWQgdGl0bGUgZmllbGQ/IjtzOjIxOiJWZXJwbGljaHQgdGl0ZWwgdmVsZD8iO3M6OToiUmVxdWlyZWQ/IjtzOjEwOiJWZXJwbGljaHQ/IjtzOjE2OiJSZXNwb25zaXZlIGltYWdlIjtzOjIxOiJSZXNwb25zaXZlIGFmYmVlbGRpbmciO3M6Njk6IlJldHVybnMgZW50ZXJlZCBzdHJpbmcgd2l0aCAnJXMnIG9yICclcycgaW5zZXJ0ZWQgYmVmb3JlIGFsbCBuZXdsaW5lcyI7czo4MDoiWmFsIGluZ2V2b2VyZGUgc3RyaW5nIG1ldCAnJXMnIG9mICclcycgdm9vcnppZW4sIHZvb3IgYWxsZSBuaWV1dyBiZWdvbm5lbiByZWdlbHMiO3M6MzoiUmdiIjtzOjM6IlJnYiI7czo0OiJSZ2JhIjtzOjQ6IlJnYmEiO3M6MzoiUm93IjtzOjM6IlJpaiI7czo0OiJTYXZlIjtzOjc6Ik9wc2xhYW4iO3M6NDc6IlNhdmUgc2VsZWN0aW9uIGluIGJyb3dzZXIncyBsb2NhbFN0b3JhZ2Ugb2JqZWN0IjtzOjU2OiJTbGEgc2VsZWN0aWUgaW4gZGUgYnJvd3NlciB6aWpuICdsb2NhbFN0b3JhZ2Ugb2JqZWN0JyBvcCI7czoxMzoiU2Nyb2xsIFRvIFRvcCI7czoxNzoiU2Nyb2xsIG5hYXIgYm92ZW4iO3M6Mjk6IlNlbGVjdCBjaG9pY2VzIChvbmUgcGVyIGxpbmUpIjtzOjI5OiJTZWxlY3Qga2V1emVzIChlZW4gcGVyIHJlZ2VsKSI7czo5ODoiU2V0IHlvdXIgb3duIGFycmF5IGtleSBmb3IgdmFsdWVzLCBieSB1c2luZyAyIGNvbG9ucyAoJyA6OiAnKSBvbiBlYWNoIGxpbmUgLSBleHRyYSBzcGFjZXMgcmVxdWlyZWQiO3M6MTIyOiJaZXQgdXcgZWlnZW4gYXJyYXkga2V5IHZvb3Igd2FhcmRlcywgZG9vciAyIG1hYWwgZHViYmVsZSBwdW50ICgnIDo6ICcpIG9wIGVsa2UgcmVnZWwgdGUgcGxhYXRzZW4gLSBleHRyYSBzcGF0aWVzIHZlcnBsaWNodCI7czozNDoiU2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcG9pbnRzLiI7czoyNToiWmV0IGhldCBhYW50YWwgZGVjaW1hbGVuLiI7czo0MToiU2V0cyB0aGUgc2VwYXJhdG9yIGZvciB0aGUgZGVjaW1hbCBwb2ludC4iO3M6NDc6IlpldCBoZXQgc2NoZWRpbmdzdGVrZW4gdm9vciBoZXQgZGVjaW1hYWwgZ2V0YWwuIjtzOjI5OiJTZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yLiI7czo0MzoiWmV0IGhldCB0ZWtlbiBvbSBkdWl6ZW5kdGFsbGVuIHRlIHNjaGVpZGVuLiI7czoxNToiU2V0dGluZ3Mgc2F2ZWQuIjtzOjI0OiJJbnN0ZWxsaW5nZW4gb3BnZXNsYWdlbi4iO3M6NTk6IlNob3cgYSBidXR0b24gdG8gdG9nZ2xlIHRoZSBjb2xvcnBpY2tlciBuZXh0IHRvIHRoZSBwYWxldHRlIjtzOjU2OiJUb29uIGVlbiBrbm9wIG9tIGRlIGNvbG9ycGlja2VyIG5hYXN0IGhldCBwYWxldCB0ZSB0b25lbiI7czoxNDoiU2hvdyBhIHBhbGV0dGUiO3M6MTQ6IlRvb24gZWVuIHBhbGV0IjtzOjEyOiJTaG93IGJ1dHRvbnMiO3M6MTI6IlRvb24ga25vcHBlbiI7czo3MzoiU2hvdyBjbG9zZWQgY2FwdGlvbnMgYnkgZGVmYXVsdCwgZXZlbiBpZiB0aGUgdXNlciBoYXMgdHVybmVkIGNhcHRpb25zIG9mZiI7czo5MzoiVG9vbiBnZXNsb3RlbiBiaWpzY2hyaWZ0ZW4gc3RhbmRhYXJkLCB6ZWxmcyBhbHMgZGUgZ2VicnVpa2VyIGJpanNjaHJpZnRlbiBoZWVmdCB1aXRnZXNjaGFrZWxkIjtzOjEwOiJTaG93IGlucHV0IjtzOjE1OiJUb29uIGludm9lcnZlbGQiO3M6NTA6IlNob3cgdGhlIGNvbG9yIHRoYXQgd2FzIGluaXRpYWxseSBzZXQgd2hlbiBvcGVuaW5nIjtzOjUxOiJUb29uIGRlIGtsZXVyIGRpZSBpbml0aWVlbCB3YXMgZ2V6ZXQgYmlqIGhldCBvcGVuZW4iO3M6NDI6IlNob3cgdGhlIGRhdGUgYW5kIHRpbWUgcGlja2VyIHNpZGUgYnkgc2lkZSI7czo0MToiVG9vbiBkZSBkYXR1bSAtZW4gdGlqZCBraWV6ZXIgemlqIGFhbiB6aWoiO3M6NDc6IlNob3cgdGhlIHBhbGV0dGVzIHlvdSBzcGVjaWZ5LCBhbmQgbm90aGluZyBlbHNlIjtzOjU1OiJUb29uIGRlIHBhbGV0dGVuIGRpZSB1IGhlZWZ0IG9wZ2VnZXZlbiwgZW4gbmlldHMgYW5kZXJzIjtzOjE2OiJTaG93IHRpdGxlIGZpZWxkIjtzOjE1OiJUb29uIHRpdGVsIHZlbGQiO3M6Nzg6IlNraXAgY29udmVydGluZyBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcyAoY29uY3JldGU1J3MgJ2gnIGZ1bmN0aW9uKSI7czo5ODoiU2xhIGhldCBjb252ZXJ0ZXJlbiB2YW4gc3BlY2lhbGUga2FyYWt0ZXJzIG5hYXIgSFRNTC1lbnRpdGVpdGVuIG92ZXIgKGNvbmNyZXRlNSB6aWpuICdoJyBmdW5jdGllKSAiO3M6NDoiU2x1ZyI7czo0OiJTbHVnIjtzOjU6IlN0YXJ0IjtzOjU6IlN0YXJ0IjtzOjExOiJTdGF0aWMgSFRNTCI7czoxNDoiU3RhdGlzY2hlIEhUTUwiO3M6MTI6IlRhYmxlIHByZWZpeCI7czoxNzoiVGFiZWwgdm9vcnZvZWdzZWwiO3M6MTY6IlRlc3QgdGhlIGV4YW1wbGUiO3M6MTg6IlRlc3QgaGV0IHZvb3JiZWVsZCI7czo4OiJUZXh0IEJveCI7czo4OiJUZWtzdHZhayI7czo4ODoiVGhlICVzIGZvciB0aGUgaW1hZ2Ugb24gcm93ICMlcyBoYXMgdG8gYmUgYSBudW1lcmljIHZhbHVlIChmbG9hdGluZyBudW1iZXJzIGRpc2FsbG93ZWQpLiI7czoxMDM6IkRlICVzIHZvb3IgZGUgYWZiZWVsZGluZyBvcCByaWogIyVzIG1vZXQgZWVuIG51bWVyaWVrZSB3YWFyZGUgemlqbiAoZGVjaW1hbGUgZ2V0YWxsZW4gbmlldCB0b2VnZXN0YWFuKS4iO3M6NTY6IlRoZSAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIHRvIGJlIGhpZ2hlciB0aGFuIDAuIjtzOjU5OiJEZSAlcyB2b29yIGRlIGFmYmVlbGRpbmcgb3AgcmlqICMlcyBtb2V0IGdyb3RlciB6aWpuIGRhbiAwLiI7czozODoiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBleGlzdC4iO3M6MzY6IkhldCBibG9rIHR5cGUgbGlqa3QgbmlldCB0ZSBiZXN0YWFuLiI7czo2MToiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBoYXZlIGFuIGV4aXN0aW5nIGNvbmZpZyBmaWxlLiI7czo2NToiSGV0IGJsb2sgdHlwZSBsaWprdCBnZWVuIGJlc3RhYW5kIGNvbmZpZ3VyYXRpZSBiZXN0YW5kIHRlIGhlYmJlbi4iO3M6NTI6IlRoZSBkYXRlIGZvcm1hdCBmaWVsZCBmb3IgJyVzJyAocm93ICMlcykgaXMgcmVxdWlyZWQiO3M6NTQ6IkhldCBkYXR1bW5vdGF0aWUgdmVsZCB2b29yICclcycgKHJvdyAjJXMpIGlzIHZlcnBsaWNodCI7czo5NToiVGhlIGVtYWlsIHN1YmplY3Qgd2hlbiBzZW5kaW5nIHRoZSBlbWFpbCAoc29tZSBhcHBsaWNhdGlvbnMvZW1haWwgY2xpZW50cyBtYXkgbm90IHN1cHBvcnQgdGhpcykiO3M6MTE5OiJIZXQgZW1haWwgb25kZXJ3ZXJwIHdhbm5lZXIgZGUgZW1haWwgdmVyc3R1dXJkIHdvcmR0IChzb21taWdlIHRvZXBhc3Npbmdlbi9lLW1haWwgY2xpZW50cyB6dWxsZW4gZGl0IG5pZXQgb25kZXJzdGV1bmVuKSI7czoxNjE6IlRoZSBlbnRlcmVkIGRlc2NyaXB0aW9uIHdpbGwgYmUgc2hvd24gd2l0aCB0aGUgdmVyeSBzYW1lIHF1ZXN0aW9uIG1hcmssIG5leHQgdG8gdGhlIGVudGVyZWQgbGFiZWwuIFVzZXJzIGhhdmUgdG8gaG92ZXIgdGhlIHF1ZXN0aW9uIG1hcmsgdG8gc2hvdyB0aGUgZGVzY3JpcHRpb24uIjtzOjE4OToiRGUgaW5nZXZ1bGRlIG9tc2NocmlqdmluZyB6YWwgd29yZGVuIGdldG9vbmQgbWV0IGV4YWN0IGhldHplbGZkZSB2cmFhZ3Rla2VuLCBuYWFzdCBoZXQgaW5nZXZ1bGRlIGxhYmVsLiBHZWJydWlrZXJzIG1vZXRlbiBvdmVyIGhldCB2cmFhZ3Rla2VuIGJld2VnZW4gbWV0IGRlIG11aXMgb20gZGUgb21zY2hyaWp2aW5nIHRlIHppZW4uIjtzOjMyOiJUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIG51bWJlciI7czozMToiRGUgbWF4aW11bSBsZW5ndGUgdmFuIGhldCBnZXRhbCI7czoyMjoiVGhlIHZpZGVvIHByb2dyZXNzIGJhciI7czoyMzoiRGUgdmlkZW8gdm9vcnRnYW5nc2JhbGsiO3M6NToiVGhlbWUiO3M6NToiVGhlbWEiO3M6Njc6IlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gYmxvY2tzIGF2YWlsYWJsZSB3aXRoIGxvYWRhYmxlIGNvbmZpZyBmaWxlcy4iO3M6ODQ6IkVyIHppam4gbW9tZW50ZWVsIGdlZW4gYmxvayB0eXBlcyBiZXNjaGlrYmFhciBtZXQgaW4gdGUgbGFkZW4gY29uZmlndXJhdGllIGJlc3RhbmRlbiI7czoxMDQ6IlRoZXJlIGFyZSBubyBmaWVsZCB0eXBlcyAoeWV0KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHBhY2thZ2Ugb3IgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5nZXQgaGVscDwvYT4uIjtzOjEwNzoiRXIgemlqbiAobm9nKSBnZWVuIHZlbGQgdHlwZXMuIFVwZGF0ZSB1dyBleHRlbnNpZSBhLnUuYi4gb2YgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj52ZXJrcmlqZyBodWxwPC9hPi4iO3M6ODk6IlRoZXJlIGFyZSBubyBmaWVsZHMgYWRkZWQgeWV0LiBTdGFydCBhZGRpbmcgb25lIGJ5IGNsaWNraW5nIG9uZSBvZiB0aGUgZmllbGQgdHlwZXMgYmVsb3cuIjtzOjExNDoiRXIgemlqbiBub2cgZ2VlbiB2ZWxkZW4gdG9lZ2V2b2VnZC4gQmVnaW4gbWV0IGhldCB0b2V2b2VnZW4gZG9vciB0ZSBrbGlra2VuIG9wIGVlbiB2YW4gZGUgdmVsZCB0eXBlcyBoaWVyIGJlbmVkZW4uIjtzOjYxOiJUaGVyZSB3YXMgbm8gYmxvY2sgaGFuZGxlIGZvdW5kLiBQbGVhc2UgZW50ZXIgYSBibG9jayBoYW5kbGUuIjtzOjc3OiJFciB3ZXJkIGdlZW4gYmxvayB0eXBlIGhhbmR2YXQgZ2V2b25kZW4uIFZ1bCBhLnUuYi4gZWVuIGJsb2sgdHlwZSBoYW5kdmF0IGluLiI7czo1NDoiVGhlcmUgd2FzIG5vIHNsdWcgZm91bmQgZm9yIHJvdyAjJXMuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY4OiJFciB3ZXJkIGdlZW4gc2x1ZyBnZXZvbmRlbiB2b29yIHJpaiAjJXMuIFByb2JlZXIgaGV0IGEudS5iLiBvcG5pZXV3LiI7czo2NToiVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlbnRlciBIVE1MIGNoYXJhY3RlcnMgaW4geW91ciB0ZXh0IGFyZWEiO3M6NzI6IkRpdCBtYWFrdCBoZXQgbW9nZWxpamsgb20gSFRNTCBrYXJha3RlcnMgaW4gamUgdGVrc3RnZWJpZWQgdGUgZ2VicnVpa2VuICI7czo2NDoiVGhpcyBuYW1lIHdpbGwgYmUgdXNlZCBpbiB0aGUgdmlldyBmaWxlIChhLXpBLVogY2hhcmFjdGVycyBvbmx5KSI7czo2OToiRGV6ZSBuYWFtIHdvcmR0IGdlYnJ1aWt0IGluIGhldCB2aWV3IGJlc3RhbmQgKGVua2VsIGEtekEtWiBrYXJha3RlcnMpIjtzOjExODoiVGhpcyBwYXJhbWV0ZXIgY2F1c2VzIHRoZSBwbGF5ZXIgdG8gYmVnaW4gcGxheWluZyB0aGUgdmlkZW8gYXQgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyI7czoxMjk6IkRlemUgcGFyYW1ldGVyIHpvcmd0IGVydm9vciBkYXQgZGUgdmlkZW9zcGVsZXIgZGUgdmlkZW8gZ2FhdCBhZnNwZWxlbiBvcCBoZXQgZ2VnZXZlbiBhYW50YWwgc2Vjb25kZW4gdmFuYWYgaGV0IGJlZ2luIHZhbiBkZSB2aWRlbyI7czoxMTk6IlRoaXMgc3BlY2lmaWVzIHRoZSB0aW1lLCBtZWFzdXJlZCBpbiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbywgd2hlbiB0aGUgcGxheWVyIHNob3VsZCBzdG9wIHBsYXlpbmcgdGhlIHZpZGVvIjtzOjEzNDoiRGl0IHNwZWNpZmljZWVydCBkZSB0aWpkLCBnZW1ldGVuIGluIHNlY29uZGUgdmFuYWYgZGUgc3RhcnQgdmFuIGRlIHZpZGVvLCB3YW5uZWVyIGRlIHBsYXllciBtb2V0IHN0b3BwZW4gbWV0IGhldCBhZnNwZWxlbiB2YW4gZGUgdmlkZW8iO3M6MTI4OiJUaGlzIHdpbGwgb25seSBoaWRlIHRoZW0gZnJvbSB0aGUgJ0FkZCBhIGZpZWxkJyBsaXN0LCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGxvYWQgY29uZmlndXJhdGlvbnMgd2l0aCB0aGUgaGlkZGVuIGZpZWxkIHR5cGVzLiI7czoxNDQ6IkRpdCB6YWwgemUgYWxsZWVuIHZlcmJlcmdlbiB2YW4gZGUgJ0VlbiB2ZWxkIHRvZXZvZWdlbicgbGlqc3QsIGhldCBpcyBub2cgc3RlZWRzIG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZXMgdGUgbGFkZW4gbWV0IGRlIHZlcmJvcmdlbiB2ZWxkIHR5cGVzLiI7czoxOToiVGhvdXNhbmRzIHNlcGFyYXRvciI7czoxNjoiRHVpemVuZHRhbCB0ZWtlbiI7czoxNjoiVGh1bWJuYWlsIGhhbmRsZSI7czoxNzoiVGh1bWJuYWlsIGhhbmR2YXQiO3M6MTA6IlRodW1ibmFpbHMiO3M6MTA6IlRodW1ibmFpbHMiO3M6MjA6IlRpdGxlIGZhbGxiYWNrIHZhbHVlIjtzOjIxOiJUaXRlbCB0ZXJ1Z3ZhbCB3YWFyZGUiO3M6MTc6IlRpdGxlIHBsYWNlaG9sZGVyIjtzOjE3OiJUaXRlbCBwbGFjZWhvbGRlciI7czoxMjA6IlRvIGNoYW5nZSB0aGUgb3JkZXIgb2YgQmxvY2sgVHlwZSBTZXRzLCBzdGFydCBieSBkcmFnZ2luZyB0aGUgbmFtZSBvZiB0aGUgQmxvY2sgVHlwZSBTZXQgdG8gdGhlIHBvc2l0aW9uIHlvdSB3b3VsZCBsaWtlLiI7czoxMjY6Ik9tIGRlIHZvbGdvcmRlIHZhbiBibG9rIHR5cGUgZ3JvZXBlbiB0ZSB3aWp6aWdlbiwgYmVnaW4gbWV0IGhldCBzbGVwZW4gdmFuIGRlIG5hYW0gdmFuIGhldCBibG9rIHR5cGUgbmFhciBkZSBnZXdlbnN0ZSBwb3NpdGllLiI7czoyNjoiVG9nZ2xlIFBhbGV0dGUgJ2xlc3MnIHRleHQiO3M6MjA6IlBhbGV0ICdtaW5kZXInIHRla3N0IjtzOjI2OiJUb2dnbGUgUGFsZXR0ZSAnbW9yZScgdGV4dCI7czoxODoiUGFsZXQgJ21lZXInIHRla3N0IjtzOjQ6IlR5cGUiO3M6NDoiVHlwZSI7czozOiJVUkwiO3M6MzoiVVJMIjtzOjM0OiJVc2UgJ3N0cmljdCcgd2hlbiB2YWxpZGF0aW5nIGRhdGVzIjtzOjQzOiJHZWJydWlrICdzdHJpY3QnIGJpaiBoZXQgdmFsaWRlcmVuIHZhbiBkYXRhIjtzOjM2OiJVc2UgYSBkb3QgKC4pIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3IiO3M6NDU6IkdlYnJ1aWsgZWVuIHB1bnQgKC4pIG9tIGRlY2ltYWxlbiB0ZSBzY2hlaWRlbiI7czo2NjoiVXNlIGNvbmNyZXRlNSdzIHRyYW5zbGF0ZSBmdW5jdGlvbiBmb3IgYWxsIHNlbGVjdCBjaG9pY2VzICh2YWx1ZXMpIjtzOjY5OiJHZWJydWlrIGNvbmNyZXRlNSdzIHZlcnRhYWwgZnVuY3RpZSB2b29yIGFsbGUgc2VsZWN0IGtldXplcyAod2FhcmRlcykiO3M6NDg6IlVzZSBkb3dubG9hZCBsaW5rLCBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGggbGluayI7czo1NDoiR2VicnVpayBkb3dubG9hZCBsaW5rLCBpbiBwbGFhdHMgdmFuIHJlbGF0aWVmIHBhZCBsaW5rIjtzOjQ5OiJVc2VzIENvbmNyZXRlNSBpbWFnZSBoZWxwZXIsIHRvIG91dHB1dCB0aGUgaW1hZ2UuIjtzOjY1OiJHZWJydWlrIGRlIGNvbmNyZXRlNSBhZmJlZWxkaW5nLWhlbHBlciwgb20gZGUgYWZiZWVsZGluZyB0ZSB0b25lbiI7czozODoiVXNlcyBhbiBpbnB1dCBib3ggd2l0aCB0aGUgY29sb3IgdmFsdWUiO3M6NDE6IkdlYnJ1aWsgZWVuIGludm9lcnZlbGQgbWV0IGRlIGtsZXVyd2FhcmRlIjtzOjU6IlZhbHVlIjtzOjY6IldhYXJkZSI7czo0NjoiVmFsdWUgY2FuIGJlIGNsZWFyZWQgYnkgY2xpY2tpbmcgYSAnJXMnIGJ1dHRvbiI7czo1MzoiV2FhcmRlIGthbiB3b3JkZW4gZ2V3aXN0IGRvb3IgdGUga2xpa2tlbiBvcCAnJXMnIGtub3AiO3M6NjA6IlZhbHVlIHdpdGhvdXQgYSBrZXksIHRoaXMgd2lsbCBiZSBhc3NpZ25lZCBieSB0aGUgZmllbGQgdHlwZSI7czo2ODoiV2FhcmRlIHpvbmRlciBrZXksIGRlemUgemFsIHdvcmRlbiB0b2VnZWtlbmQgZG9vciBoZXQgdmVsZCB0eXBlIHplbGYiO3M6NzoiVmVyc2lvbiI7czo2OiJWZXJzaWUiO3M6NDQ6IlZpZGVvIGFubm90YXRpb25zIHRvIGJlIG5vdCBzaG93biBieSBkZWZhdWx0IjtzOjM2OiJWaWRlb2Fubm90YXRpZXMgbmlldCBzdGFuZGFhcmQgdG9uZW4iO3M6MTA6IlZpZGVvIHNpemUiO3M6MTk6IlZpZGVvc3BlbGVyIGdyb290dGUiO3M6ODoiVmlldyBDU1MiO3M6ODoiVmlldyBDU1MiO3M6MTU6IlZpZXcgSmF2YVNjcmlwdCI7czoxNToiVmlldyBKYXZhU2NyaXB0IjtzOjM2OiJWaWV3IGRhdGV0aW1lcGlja2VyIG9wdGlvbnMvZGVmYXVsdHMiO3M6NDY6IkJla2lqayBkYXRldGltZXBpY2tlciBvcHRpZXMvc3RhbmRhYXJkIHdhYXJkZXMiO3M6MTE6IlZpZXcgb3V0cHV0IjtzOjExOiJWaWV3IG91dHB1dCI7czo3OiJXWVNJV1lHIjtzOjc6IldZU0lXWUciO3M6MTIyOiJXaGVuIGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIGNvbG9ycGlja2VyLCB5b3UgY2FuIGZvcmNlIGl0IHRvIGZpcmUgYSBjaGFuZ2UgZXZlbnQgcmF0aGVyIHRoYW4gaGF2aW5nIGl0IHJldmVydCB0aGUgY2hhbmdlLiI7czoxNDg6Ildhbm5lZXIgYnVpdGVuIGRlIGNvbG9ycGlja2VyIHdvcmR0IGdlbGlrdCwga3VudCB1IGhldCBmb3JjZXJlbiBvbSBlZW4gYGNoYW5nZWAgZXZlbnQgdGUgYWN0aWV2ZXJlbiwgaW4gcGxhYXRzIHZhbiBoZXQgdGVydWd6ZXR0ZW4gdmFuIGRlIHdpanppZ2luZy4iO3M6NToiV2lkdGgiO3M6NzoiQnJlZWR0ZSI7czoxMzM6IldpZHRoIGFuZCBoZWlnaHQgYXJlIHJlcXVpcmVkIHVwb24gbWFraW5nIHRoZSBpbWFnZSBhIHRodW1ibmFpbC4gQm90aCB2YWx1ZXMgYXJlIGJlaW5nIGVudGVyZWQgaW4gd2hvbGUgcGl4ZWxzIChubyBkZWNpbWFscyBhbGxvd2VkKS4iO3M6MTY3OiJCcmVlZHRlIGVuIGhvb2d0ZSB6aWpuIHZlcnBsaWNodCBiaWogaGV0IG1ha2VuIHZhbiBlZW4gbWluaWF0dXVyIHZhbiBkZSBhZmJlZWxkaW5nLiBCZWlkZSB3YWFyZGVzIHp1bGxlbiB3b3JkZW4gaW5nZXZ1bGQgbWV0IGdlaGVsZSBwaXhlbHMgKGdlZW4gZGVjaW1hbGVuIHRvZWdlc3RhYW4pLiI7czoxODoiV3JhcHBlciBIVE1MIGNsb3NlIjtzOjIwOiJXcmFwcGVyIEhUTUwgc2x1aXRlbiI7czoxNzoiV3JhcHBlciBIVE1MIG9wZW4iO3M6MTk6IldyYXBwZXIgSFRNTCBvcGVuZW4iO3M6MzoiWWVzIjtzOjI6IkphIjtzOjEwMToiWW91IGNhbiBlbnRlciBIZXgsIEhzbCwgUmdiLCBSZ2JhICh3aXRoIGFscGhhKSBvciBOYW1lZCBjb2xvciB2YWx1ZXMuIFNlZSB0aGUgbGlzdCBiZWxvdyBmb3IgZXhhbXBsZXMiO3M6MTE5OiJVIGt1bnQgSGV4LCBIc2wsIFJnYiwgUmdiYSAobWV0IGFscGhhKSBvZiBiZW5vZW1kZSBrbGV1cndhYXJkZXMgaW52dWxsZW4uIEJla2lqayBkZSBsaWpzdCBoaWVyb25kZXIgdm9vciBkZSB2b29yYmVlbGRlbiI7czo4OToiWW91IGNhbiBub3QgZW50ZXIgZmxvYXRpbmcgbnVtYmVycyBvbiB0aGUgZmllbGRzIGFib3ZlLCBhcyB0aGUgYm94ICclcycgaGFzIGJlZW4gY2hlY2tlZC4iO3M6OTc6IlUga3VudCBnZWVuIGRlY2ltYWxlIGdldGFsbGVuIGluIGRlIHZlbGRlbiBoaWVyYm92ZW4gaW52dWxsZW4sIG9tZGF0IGhldCB2ZWxkICclcycgaXMgYWFuZ2V2aW5rdC4iO3M6Njg6IllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGluc3RhbGwgY3VzdG9tIGJsb2NrIHR5cGVzIG9yIGFkZC1vbnMuIjtzOjc3OiJVIGhlZWZ0IGdlZW4gdG9lc3RlbW1pbmcgb20gYWFuZ2VwYXN0ZSBibG9rIHR5cGVzIG9mIGV4dGVuc2llcyB0ZSBpbnN0YWxsZXJlbiI7czo3OiJZb3VUdWJlIjtzOjc6IllvdVR1YmUiO3M6MzE6ImEteiwgZGFzaGVzIGFuZCB1bmRlcnNjb3JlIG9ubHkiO3M6MzQ6IkVua2VsIGEteiwgc3RyZWVwamVzIGVuIHVuZGVyc2NvcmUiO3M6NDoiaS5lLiI7czo1OiJiaWp2LiI7czo3OiJpLmUuICVzIjtzOjg6ImJpanYuICVzIjtzOjc1OiJpLmUuICVzIHdpbGwgZ2VuZXJhdGUgJXMgLSBtb3JlIGluZm8gb24gPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6ODI6ImJpanYuICVzIHphbCAlcyBnZW5lcmVyZW4gLSBtZWVyIGluZm9ybWF0aWUgb3AgPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6MTM6InJlcXVpcmVzICclcyciO3M6MTI6InZlcmVpc3QgJyVzJyI7czoxMjoiQ2FjaGUgV2FybWVyIjtzOjEyOiJDYWNoZSBXYXJtZXIiO3M6MjI6IkNhY2hlIFdhcm1lciBjb21wbGV0ZWQiO3M6MjE6IkNhY2hlIFdhcm1lciBhZmdlcm9uZCI7czozOToiQ2FjaGUgZmlsZSBjb3VsZG4ndCBiZSBjcmVhdGVkIGZvciAnJXMnIjtzOjUzOiJDYWNoZWJlc3RhbmQga29uIG5pZXQgYWFuZ2VtYWFrdCB3b3JkZW4gdm9vciDigJglc+KAmSI7czo2ODoiRHVlIHRvIGEgYnVnIGluIHRoZSBjb3JlIHRoaXMgYWRkLW9uIHdvbid0IHdvcmsgb24gUEhQIDcgYW5kIGhpZ2hlci4iO3M6Njc6IkRvb3IgZWVuIGZvdXQgaW4gZGUgY29yZSB3ZXJrdCBkZXplIGFkZC1vbiBuaWV0IG1ldCBQSFAgNyBlbiBob2dlci4iO3M6MjU6IkZpbHRlciBwYWdlcyBieSBwYWdlIHR5cGUiO3M6MzE6IkZpbHRlciBwYWdpbmHigJlzIG9wIHBhZ2luYXR5cGUiO3M6NDM6IkdlbmVyYXRlcyBjYWNoZSBmaWxlcyB0byByZWR1Y2UgbG9hZCB0aW1lcy4iO3M6NTA6IkdlbmVyZWVydCBjYWNoZWJlc3RhbmRlbiB2b29yIHNuZWxsZXJlIGxhYWR0aWpkZW4uIjtzOjMxOiJMaW1pdCBudW1iZXIgb2YgcGFnZXMgcGVyIGJhdGNoIjtzOjM4OiJCZXBlcmsgaGV0IGFhbnRhbCBwYWdpbmHigJlzIHBlciByZWVrcyI7czoxNDoiU2V0dGluZ3Mgc2F2ZWQiO3M6MjM6Ikluc3RlbGxpbmdlbiBvcGdlc2xhZ2VuIjtzOjMwOiJUaGlzIGpvYiB3b24ndCBydW4gdmlhIHRoZSBDTEkiO3M6NDQ6IkRlemUgdGFhayBrYW4gbmlldCB2aWEgQ0xJIHVpdGdldm9lcmQgd29yZGVuIjtzOjYwOiJUbyBydW4gQ2FjaGUgV2FybWVyLCBnbyB0byA8YSBocmVmPSIlcyI+QXV0b21hdGVkIFRhc2tzPC9hPi4iO3M6Nzk6Ik9tIENhY2hlIFdhcm1lciB1aXQgdGUgdm9lcmVuLCBnYSBuYWFyIDxhIGhyZWY9IiVzIj5HZWF1dG9tYXRpc2VlcmRlIHRha2VuPC9hPi4iO3M6MjU6IkRpc2FibGUgSFRNTCBtaW5pZmljYXRpb24iO3M6Mjg6IlNjaGFrZWwgSFRNTCBjb21wcmVzc2llIHVpdCAiO3M6MjQ6IkVuYWJsZSBIVE1MIG1pbmlmaWNhdGlvbiI7czoyNjoiU2NoYWtlbCBIVE1MIGNvbXByZXNzaWUgaW4iO3M6Mjc6IkVuYWJsZSBmb3IgUmVnaXN0ZXJlZCBVc2VycyI7czo0MjoiSW5zY2hha2VsZW4gdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjExOiJNaW5pZnkgSFRNTCI7czoxNToiQ29tcHJpbWVlciBIVE1MIjtzOjQ2OiJNaW5pZnkgSFRNTCBvdXRwdXQgdG8gZGVjcmVhc2UgcGFnZSBsb2FkIHRpbWVzIjtzOjQzOiJDb21wcmltZWVyIEhUTUwgb20gbGFhZHRpamRlbiB0ZSB2ZXJrbGVpbmVuIjtzOjMyOiJQYWdlcyB3aXRoIG1pbmlmaWNhdGlvbiBkaXNhYmxlZCI7czozOToiUGFnaW5h4oCZcyBtZXQgY29tcHJlc3NpZSB1aXRnZXNjaGFrZWxkIjt9aToyO2E6MTp7czoxMzoiACoAcGx1cmFsUnVsZSI7TzozMjoiWmVuZFxJMThuXFRyYW5zbGF0b3JcUGx1cmFsXFJ1bGUiOjI6e3M6NjoiACoAYXN0IjthOjI6e3M6MjoiaWQiO3M6MjoiIT0iO3M6OToiYXJndW1lbnRzIjthOjI6e2k6MDthOjI6e3M6MjoiaWQiO3M6MToibiI7czo5OiJhcmd1bWVudHMiO2E6MDp7fX1pOjE7YToyOntzOjI6ImlkIjtzOjY6Im51bWJlciI7czo5OiJhcmd1bWVudHMiO2E6MTp7aTowO2k6MTt9fX19czoxMzoiACoAbnVtUGx1cmFscyI7aToyO319aTozO047fQ=='));
 
/* Child Type: integer */
$data['createdOn'] = 1792506604;
 
/home/.sites/111/site30/web/application/files/cache/expensive/0fea6a13c52b4d47/25368f24b045ca84/38a865804f8fdcb6/57cd99682e939275/8f3a01e2e3b200aa/f980d8ea6abd2ae6/bf114d61dcf513b6/1ce53aa821bdbceb.php
<?php 
/* Cachekey: cache/stash_default/zend/zend_i18n_translator_messages_817601c0e7bd3054c0c41e1e4d6d67aa/ */
/* Type: array */
/* Expiration: 2026-10-24T23:11:12+02:00 */
 
 
 
$loaded = true;
$expiration = 1792876272;
 
$data = array();
 
/* Child Type: object */
$data['return'] = unserialize(base64_decode('TzozMToiWmVuZFxJMThuXFRyYW5zbGF0b3JcVGV4dERvbWFpbiI6NDp7aTowO2k6MDtpOjE7YTozMDA6e3M6OToiJyVzJyB0ZXh0IjtzOjEwOiInJXMnIHRla3N0IjtzOjg6Ii0tICVzIC0tIjtzOjg6Ii0tICVzIC0tIjtzOjEwMToiLi4gYW5kIHRoZSBwbGF5ZXIgY29udHJvbHMgd2lsbCBzbGlkZSBvdXQgb2YgdmlldyBhIGNvdXBsZSBvZiBzZWNvbmRzIGFmdGVyIHRoZSB2aWRlbyBzdGFydHMgcGxheWluZy4iO3M6MTEzOiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gdWl0IGhldCB6aWNodCB2ZXJ3aWplbiBlZW4gcGFhciBzZWNvbmRlbiBuYWRhdCBkZSB2aWRlbyBiZWdpbnQgdGUgc3BlbGVuLiI7czo4NzoiLi4gYW5kIHRoZSB2aWRlbyBwbGF5ZXIgY29udHJvbHMgd2lsbCBiZSB2aXNpYmxlIHRocm91Z2hvdXQgdGhlIHZpZGVvIGFuZCBpbiBmdWxsc2NyZWVuIjtzOjk5OiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gemljaHRiYWFyIHppam4gaW4gZGUgaGVsZSB2aWRlbyBlbiBpbiB2b2xsZWRpZyBzY2hlcm0tbW9kdXMiO3M6NTM6Ii4uIGZhZGVzIG91dCB3aGlsZSB0aGUgcGxheWVyIGNvbnRyb2xzIHJlbWFpbiB2aXNpYmxlIjtzOjYxOiIuLiB2ZXJkd2lqbnQsIHRlcndpamwgZGUgcGxheWVyIGJlZGllbmluZ2VuIHppY2h0YmFhciBibGlqdmVuIjtzOjk1OiI8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIGluIHRoZSBibGFja2xpc3Qgb2YgdG8gYmUgdXNlZCBibG9jayBoYW5kbGVzLiBQbGVhc2UgdHJ5IGFub3RoZXIgaGFuZGxlLiI7czoxMDY6IjxzdHJvbmc+JXM8L3N0cm9uZz4gc3RhYXQgb3AgZGUgendhcnRlIGxpanN0IHZhbiB0ZSBnZWJydWlrZW4gaGFuZHZhdGVuLiBQcm9iZWVyIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdC4iO3M6NDI6IkEgJ1doYXQtWW91LVNlZS1Jcy1XaGF0LVlvdS1HZXQnIHRleHQgYXJlYSI7czo0NjoiRWVuICdXaGF0LVlvdS1TZWUtSXMtV2hhdC1Zb3UtR2V0JyB0ZWtzdGdlYmllZCI7czoyMToiQSBZb3VUdWJlIGVtYmVkIGZpZWxkIjtzOjI4OiJFZW4gWW91VHViZSBlbWJlZCBpbnZvZXJ2ZWxkIjtzOjI2OiJBIGNvbG9yIHBpY2tlciBpbnB1dCBmaWVsZCI7czoyNzoiRWVuIGtsZXVyIGtpZXplciBpbnZvZXJ2ZWxkIjtzOjMzOiJBIGRhdGUgKyB0aW1lLCBkYXRlIG9yIHRpbWUgZmllbGQiO3M6NDI6IkVlbiBkYXR1bSArIHRpamQsIGRhdHVtIG9mIHRpamQgaW52b2VydmVsZCI7czo4MjoiQSBmaWVsZCB3aXRoIG11bHRpcGxlIG9wdGlvbnMgKGFsc28ga25vd24gYXMgZHJvcGRvd24pLCB3aGVyZSB5b3UgbmVlZCB0byBwaWNrIG9uZSI7czo5MjoiRWVuIGludm9lcnZlbGQgbWV0IG1lZXJkZXJlIG9wdGllcyAob29rIHdlbCBiZWtlbmQgYWxzICdkcm9wZG93bicpLCB3YWFyIHUgZXIgZWVuIHNlbGVjdGVlcmQiO3M6MTI6IkEgZmlsZSBmaWVsZCI7czoyMjoiRWVuIGJlc3RhbmQgaW52b2VydmVsZCI7czoxNDoiQSBudW1iZXIgZmllbGQiO3M6MjM6IkVlbiBudW1lcmllayBpbnZvZXJ2ZWxkIjtzOjE1OiJBIHBhZ2Ugc2VsZWN0b3IiO3M6MTc6IkVlbiBwYWdpbmEta2llemVyIjtzOjY2OiJBIHNpbXBsZSB0ZXh0IGFyZWEgdG8gcGxhY2UgaW4geW91ciBQSFAsIEhUTUwsIENTUyAob3Igb3RoZXIpIGNvZGUiO3M6Nzg6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgb20gdXcgUEhQLCBIVE1MLCBDU1MgKG9mIGFuZGVyZSkgY29kZSBpbiB0ZSBwbGFhdHNlbiI7czo2NToiQSBzaW1wbGUgdGV4dCBhcmVhIHdoZXJlIHlvdSBjYW4gdXNlIGFsbCBtYXJrZG93biBmdW5jdGlvbmFsaXRpZXMiO3M6OTA6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgd2FhcmluIGFsbGUgbWFya2Rvd24gZnVuY3Rpb25hbGl0ZWl0ZW4gaW4gZ2VicnVpa3Qga3VubmVuIHdvcmRlbiI7czo0MjoiQSBzaW1wbGUgdGV4dCBhcmVhIHdpdGggbm8gZWRpdGluZyBvcHRpb25zIjtzOjQ5OiJFZW4gZWVudm91ZGlnIHRla3N0Z2ViaWVkIHpvbmRlciBiZXdlcmtpbmdzb3B0aWVzIjtzOjE0OiJBIHN0YWNrcyBmaWVsZCI7czoyNDoiRWVuICdzdGFwZWxzJyBpbnZvZXJ2ZWxkIjtzOjE4OiJBIHRleHQgaW5wdXQgZmllbGQiO3M6MjA6IkVlbiB0ZWtzdCBpbnZvZXJ2ZWxkIjtzOjU2OiJBIHRleHQgaW5wdXQgZmllbGQsIHdoZXJlIHlvdSB3b3VsZCBlbnRlciBhbiBodHRwOi8vIFVSTCI7czo1NzoiRWVuIHRla3N0IGludm9lcnZlbGQsIHdhYXIgdSBlZW4gaHR0cDovLyBVUkwgem91IGludm9lcmVuIjtzOjk6IkFkZCBDb2xvciI7czoxNToiS2xldXIgdG9ldm9lZ2VuIjtzOjc6IkFkZCBSb3ciO3M6MTM6IlJpaiB0b2V2b2VnZW4iO3M6MTE6IkFkZCBhIGZpZWxkIjtzOjE4OiJFZW4gdmVsZCB0b2V2b2VnZW4iO3M6ODoiQWR2YW5jZWQiO3M6MTE6IkdlYXZhbmNlZXJkIjtzOjM0OiJBbGxvdyBhbHBoYSB0cmFuc3BhcmVuY3kgc2VsZWN0aW9uIjtzOjM1OiJTdGEgYWxwaGEgdHJhbnNwYXJlbmN5IHNlbGVjdGllIHRvZSI7czoxMToiQWxsb3cgZW1wdHkiO3M6MTg6IlN0YSBsZWVnd2FhcmRlIHRvZSI7czozNDoiQWx3YXlzIHNob3cgdXAgYXQgZnVsbCBzaXplIChmbGF0KSI7czozODoiVG9vbiBhbHRpamQgb3Agdm9sbGVkaWcgZm9ybWFhdCAocGxhdCkiO3M6MTQ6IkFuIGVtYWlsIGZpZWxkIjtzOjIwOiJFZW4gZW1haWwgaW52b2VydmVsZCI7czoxNzoiQW4gaW1hZ2Ugc2VsZWN0b3IiO3M6MjE6IkVlbiBhZmJlZWxkaW5nLWtpZXplciI7czo1MToiQW4gdW5rbm93biBmaWVsZCB0eXBlIHdhcyBwb3N0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY2OiJFZW4gb25iZWtlbmQgdmVsZCB0eXBlIGlzIG1lZWdlc3R1dXJkLiBQcm9iZWVyIGhldCBhLnUuYi4gb3BuaWV1dy4iO3M6MTAyOiJBbnl0aGluZyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBkaXJlY3RseSBvdXRwdXR0ZWQgdG8gdGhlIGJsb2NrIHZpZXcuIFVzZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gZWRpdCBpdC4iO3M6MTM1OiJBbGxlcyB3YXQgaGllciB3b3JkdCBpbmdldm9lcmQsIHphbCBkaXJlY3QgZ2V0b29uZCB3b3JkZW4gYmlubmVuIGhldCBibG9rIHR5cGUuIEdlYnJ1aWtlcnMgaGViYmVuIGdlZW4gbW9nZWxpamtoZWlkIG9tIGRpdCB0ZSBiZXdlcmtlbi4iO3M6MTk6IkFzIHNlZW4gaW4gdGhlIGZvcm0iO3M6MzA6IlpvYWxzIHRlIHppZW4gaW4gaGV0IGZvcm11bGllciI7czo2OiJBc3NldHMiO3M6NjoiQXNzZXRzIjtzOjk6IkF1dG8gaGlkZSI7czoyMToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIjtzOjk6IkF1dG8gcGxheSI7czoyMToiQXV0b21hdGlzY2ggYWZzcHJlbGVuIjtzOjIxOiJBdXRvbWF0aWNhbGx5IGRpc2FibGUiO3M6MjQ6IkF1dG9tYXRpc2NoIHVpdHNjaGFrZWxlbiI7czo1MjoiQXV0b21hdGljYWxseSBoaWRlIGFmdGVyIGEgcGFsZXR0ZSBjb2xvciBpcyBzZWxlY3RlZCI7czo1OToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIG5hZGF0IGVlbiBwYWxldCBrbGV1ciBpcyBnZXNlbGVjdGVlcmQiO3M6NjoiQmFzaWNzIjtzOjEzOiJCYXNpc2dlZ2V2ZW5zIjtzOjE3OiJCZXR3ZWVuICVzIGFuZCAlcyI7czoxNToiVHVzc2VuICVzIGVuICVzIjtzOjE0OiJCbG9jayBEZXNpZ25lciI7czoxNDoiQmxvY2sgRGVzaWduZXIiO3M6MTI6IkJsb2NrIGhhbmRsZSI7czoxNzoiQmxvayB0eXBlIGhhbmR2YXQiO3M6NjA6IkJsb2NrIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IG1hdGNoIG91ciBwYXR0ZXJuLiI7czo3MjoiQmxvayB0eXBlIGhhbmR2YXQgPHN0cm9uZz4lczwvc3Ryb25nPiBrb210IG5pZXQgb3ZlcmVlbiBtZXQgb25zIHBhdHJvb24uIjtzOjEwOiJCbG9jayBpbmZvIjtzOjIwOiJCbG9rIHR5cGUgaW5mb3JtYXRpZSI7czoxMDoiQmxvY2sgbmFtZSI7czoxNDoiQmxvayB0eXBlIG5hYW0iO3M6MTY6IkJsb2NrIG9yZGVyIGluZm8iO3M6Mjk6IkJsb2sgdHlwZSB2b2xnb3JkZSBpbmZvcm1hdGllIjtzOjM1OiJCbG9jayB0eXBlICVzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiI7czo0MjoiQmxvayB0eXBlIHR5cGUgJXMgaXMgc3VjY2Vzdm9sIGdlY3Jlw6tlcmQuIjtzOjU2OiJCbG9jayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gZG9lcyBub3QgZXhpc3QgKGFueW1vcmUpLiI7czo1MDoiQmxvayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gYmVzdGFhdCBuaWV0IChtZWVyKS4iO3M6NTI6IkJsb2NrIHR5cGUgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyBhbHJlYWR5IGluc3RhbGxlZC4iO3M6NTQ6IkJsb2sgdHlwZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiI7czoxNTI6IkJsb2NrIHR5cGUgZm9sZGVyIDxzdHJvbmc+JXM8L3N0cm9uZz4gYWxyZWFkeSBleGlzdHMuIFlvdSB3YW50IHRvIDxhIGhyZWY9IiVzIiBjbGFzcz0iZGVsZXRlX2ZvbGRlciI+PHN0cm9uZz5kZWxldGUgdGhpcyBibG9jayB0eXBlIGZvbGRlcjwvc3Ryb25nPjwvYT4/IjtzOjE0MzoiQmxvayB0eXBlIG1hcCA8c3Ryb25nPiVzPC9zdHJvbmc+IGJlc3RhYXQgcmVlZHMuIFdpbHQgdSA8YSBocmVmPSIlcyIgY2xhc3M9ImRlbGV0ZV9mb2xkZXIiPjxzdHJvbmc+ZGV6ZSBibG9rIHR5cGUgbWFwIHZlcndpamRlcmVuPC9zdHJvbmc+PC9hPj8iO3M6MzQ6IkJsb2NrIHR5cGUgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4iO3M6Mzg6IkJsb2sgdHlwZSBpcyBzdWNjZXN2b2wgZ2XDr25zdGFsbGVlcmQuIjtzOjE0OiJCbG9jayB0eXBlIHNldCI7czoxNToiQmxvayB0eXBlIGdyb2VwIjtzOjEyNDoiQmxvY2sgdHlwZSB3aXRoIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGFscmVhZHkgaW5zdGFsbGVkLiBQbGVhc2UgdXNlIGEgZGlmZmVyZW50IGhhbmRsZSwgYmVmb3JlIGNvbnRpbnVpbmcgdGhpcyBwcm9jZXNzLiI7czoxMzU6IkJsb2sgdHlwZSBtZXQgaGFuZHZhdCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiBHZWJydWlrIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdCwgdm9vcmRhdCB1IGRvb3JnYWF0IG1ldCBkaXQgcHJvY2VzLiI7czo0NToiQnVpbGQgUEhQIHN3aXRjaCwgSSB3aWxsIGNvZGUgdGhlIHJlc3QgbXlzZWxmIjtzOjQ2OiJCb3V3IGRlIFBIUCBzd2l0Y2gsIGlrIGNvZGVlciBkZSByZXN0IHplbGYgd2VsIjtzOjE4OiJDYWNoZSBibG9jayBvdXRwdXQiO3M6MTg6IkNhY2hlIGJsb2NrIG91dHB1dCI7czozOToiQ2FjaGUgYmxvY2sgb3V0cHV0IGZvciByZWdpc3RlcmVkIHVzZXJzIjtzOjQ5OiJDYWNoZSBibG9jayBvdXRwdXQgdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjI3OiJDYWNoZSBibG9jayBvdXRwdXQgbGlmZXRpbWUiO3M6MjM6IkNhY2hlIGJsb2NrIG91dHB1dCBkdXVyIjtzOjI2OiJDYWNoZSBibG9jayBvdXRwdXQgb24gcG9zdCI7czo0NToiQ2FjaGUgYmxvY2sgb3V0cHV0IG1ldCBmb3JtdWxpZXIvcG9zdCB3YWFyZGVzIjtzOjE4OiJDYWNoZSBibG9jayByZWNvcmQiO3M6MTg6IkNhY2hlIGJsb2NrIHJlY29yZCI7czo2OiJDYW5jZWwiO3M6OToiQW5udWxlcmVuIjtzOjY6IkNob29zZSI7czo2OiJLaWV6ZW4iO3M6OToiQ2xhc3MoZXMpIjtzOjExOiJLbGFzc2VuYW1lbiI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHRoZSBpRnJhbWUsIGkuZS4gJyVzJyI7czo2ODoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBkZSBpRnJhbWUsIGJpanYuICclcyciO3M6NTM6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGVtYWlsIGFuY2hvciwgaS5lLiAnJXMnIjtzOjcyOiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGVtYWlsIGxpbmssIGJpanYuICclcyciO3M6NDU6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGZpbGUsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBoZXQgYmVzdGFuZCwgYmlqdi4gJyVzJyI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW1hZ2UsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gZGllIHp1bGxlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gZGUgYWZiZWVsZGluZywgYmlqdi4gJyVzJyI7czo0NToiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgbGluaywgaS5lLiAnJXMnIjtzOjY2OiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGxpbmssIGJpanYuICclcyciO3M6MjE6IkNsZWFyIENvbG9yIFNlbGVjdGlvbiI7czoxNzoiV2lzIGtsZXVyc2VsZWN0aWUiO3M6Nzg6IkNsaWNrIG9uIGEgZGVzaXJlZCBibG9jayB0eXBlIHRvIGxvYWQgdGhlIGNvbmZpZyBpbnRvIHRoZSBCbG9jayBEZXNpZ25lciBmb3JtLiI7czo5NDoiS2xpayBvcCBlZW4gZ2V3ZW5zdGUgYmxvayB0eXBlIG9tIGRlIGNvbmZpZ3VyYXRpZSBpbiBoZXQgQmxvY2sgRGVzaWduZXIgZm9ybXVsaWVyIGluIHRlIGxhZGVuLiI7czoyMToiQ2xpY2tvdXQgZmlyZXMgY2hhbmdlIjtzOjM1OiJFcmJ1aXRlbiBrbGlra2VuIGFjdGl2ZWVydCBgY2hhbmdlYCI7czo0OiJDb2RlIjtzOjQ6IkNvZGUiO3M6MTI6IkNvbGxhcHNlIEFsbCI7czoxNToiQWxsZXMgaW5rbGFwcGVuIjtzOjEyOiJDb2xvciBQaWNrZXIiO3M6MTE6IktsZXVya2llemVyIjtzOjI1NzoiQ29weS9wYXN0ZSB0aGUgQ1NTIGFuZCBKYXZhU2NyaXB0IHlvdSBuZWVkIGhlcmUsIGluIG9yZGVyIHRvIGdldCB5b3VyIGJsb2NrIHNob3cvYmVoYXZlIGxpa2UgaXQgc2hvdWxkLiBUaGluayB0d2ljZSBpZiB0aGUgYXNzZXRzIHlvdSBuZWVkLCByZWFsbHkgY2FuIG5vdCBiZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSB0aGVtZS4gTG9hZGluZyBtb3JlIGFzc2V0cyB3aWxsIG1lYW4gbW9yZSByZXF1ZXN0cyB0byB5b3VyIHdlYnNpdGUgKHBlciB1c2VyKSEiO3M6MzA4OiIgS29waWVlci9wbGFrIGRlIENTUyBlbiBKYXZhU2NyaXB0IGRpZSBqZSBub2RpZyBoZWJ0IGhpZXIsIG9tIGplIGJsb2stZm9ybWFhdCB0ZSB0b25lbi9sYXRlbiB3ZXJrZW4gem9hbHMgaGV0IGhvb3J0LiBEZW5rIGdvZWQgbmEgb2YgZGUgYXNzZXRzIGRpZSBqZSBub2RpZyBoZWJ0LCBkYWFkd2Vya2VsaWprIG5pZXQgaW4gaGV0IHRoZW1hIGdlw69tcGxlbWVudGVlcmQga3VubmVuIHdvcmRlbi4gSGV0IGxhZGVuIHZhbiBtZWVyIGFzc2V0cyBiZXRla2VudCBtZWVyIHZlcnpvZWtlbiBuYWFyIGplIHdlYnNpdGUgKHBlciBnZWJydWlrZXIpISI7czo5OToiQ3JlYXRlIGEgbmV3IGJsb2NrIHR5cGUgYnkgZW50ZXJpbmcgc29tZSBiYXNpYyBpbmZvIGFuZCBhZGRpbmcgb25lIG9yIG1vcmUgZmllbGRzIChmaWVsZHMgc2VjdGlvbikuIjtzOjEyMDoiTWFhayBlZW4gbmlldXcgYmxvayB0eXBlLCBkb29yIGVua2VsZSBiYXNpc2dlZ2V2ZW5zIGluIHRlIHZ1bGxlbiBlbiBlZW4gb2YgbWVlcmRlcmUgdmVsZGVuIHRvZSB0ZSB2b2VnZW4gKHZlbGRlbiBzZWN0aWUpIjtzOjQ0OiJDcm9wIHRoZSBpbWFnZSB0byB0aGUgZ2l2ZW4gd2lkdGggYW5kIGhlaWdodCI7czo1MzoiU25pamQgZGUgYWZiZWVsZGluZyB0b3QgZWVuIGdlZ2V2ZW4gYnJlZWR0ZSBlbiBob29ndGUiO3M6NjoiQ3VzdG9tIjtzOjk6IkFhbmdlcGFzdCI7czoxMToiQ3VzdG9tIHNpemUiO3M6MTg6IkFhbmdlcGFzdGUgZ3Jvb3R0ZSI7czoxNzoiRGF0YWJhc2UgZGVjaW1hbHMiO3M6MTg6IkRhdGFiYXNlIGRlY2ltYWxlbiI7czoxNToiRGF0YWJhc2UgbGVuZ3RoIjtzOjE1OiJEYXRhYmFzZSBsZW5ndGUiO3M6OToiRGF0ZSBUaW1lIjtzOjEwOiJEYXR1bSB0aWpkIjtzOjExOiJEYXRlIGZvcm1hdCI7czoxMjoiRGF0dW1ub3RhdGllIjtzOjI4OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlnIjtzOjM0OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlndXJhdGllIjtzOjEzOiJEZWNpbWFsIHBvaW50IjtzOjEzOiJEZWNpbWFhbHRla2VuIjtzOjg6IkRlY2ltYWxzIjtzOjk6IkRlY2ltYWxlbiI7czoyMjoiRGVmYXVsdCBibG9jayB0eXBlIHNldCI7czoyNToiU3RhbmRhYXJkIGJsb2sgdHlwZSBncm9lcCI7czoxMjoiRGVmYXVsdCBkYXRlIjtzOjE1OiJTdGFuZGFhcmQgZGF0dW0iO3M6Mjg6IkRlZmF1bHRzIHRvIHRvZGF5ICsxMDAgeWVhcnMiO3M6MzM6IlZhbHQgdGVydWcgbmFhciB2YW5kYWFnICsxMDAgamFhciI7czo2OiJEZWxldGUiO3M6MTE6IlZlcndpamRlcmVuIjtzOjEwOiJEZWxldGUgUm93IjtzOjE1OiJSaWogdmVyd2lqZGVyZW4iO3M6MTE6IkRlc2NyaXB0aW9uIjtzOjEyOiJPbXNjaHJpanZpbmciO3M6NTE6IkRlc2lnbiB5b3VyIG93biBjb250ZW50IGJsb2NrcyB3aXRoaW4gYSBmZXcgY2xpY2tzISI7czo1NzoiT250d2VycCBqZSBlaWdlbiBjb250ZW50IGJsb2trZW4gYmlubmVuIGVlbiBwYWFyIGtsaWtrZW4hIjtzOjEyOiJEZXZlbG9wZWQgYnkiO3M6MTU6Ik9udHdpa2tlbGQgZG9vciI7czoxNDoiRGlyZWN0IGluc3RhbGwiO3M6MTg6IkRpcmVjdCBpbnN0YWxsZXJlbiI7czoyMDg6IkRpcmVjdG9yeSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IGV4aXN0IGFuZCBuZWVkcyB0byBleGlzdCBiZWZvcmUgeW91IGNhbiB1c2UgdGhpcyBwYWNrYWdlLiBQbGVhc2UgY3JlYXRlIHRoaXMgaW4geW91ciBlbnZpcm9ubWVudCBhbmQgZ2l2ZSBpdCByZWFkLCB3cml0ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9ucyAoPHN0cm9uZz4wNzc3PC9zdHJvbmc+KS4iO3M6MjAzOiJNYXAgPHN0cm9uZz4lczwvc3Ryb25nPiBiZXN0YWF0IG5pZXQgZW4gbW9ldCBiZXN0YWFuIHZvb3JkYXQgZGV6ZSBleHRlbnNpZSBnZWJydWlrdCBrYW4gd29yZGVuLiBNYWFrIGRlemUgbWFwIGFhbiBpbiB1dyBvbWdldmluZyBlbiBnZWVmIGhldCBsZWVzLSwgc2NocmlqZi0gZW4gdWl0dm9lciBwZXJtaXNzaWVzICg8c3Ryb25nPjA3Nzc8L3N0cm9uZz4pLiI7czoxNjoiRGlzYWJsZSBrZXlib2FyZCI7czoyMToiS2V5Ym9hcmQgdWl0c2NoYWtlbGVuIjtzOjIxOiJEaXNhbGxvdyBmbG9hdCBudW1iZXIiO3M6MjY6IkRlY2ltYWxlIGdldGFsbGVuIHdlaWdlcmVuIjtzOjQ1OiJEbyBub3Qgc2V0IHRoZSB2YWx1ZSB0byB0aGUgY3VycmVudCBkYXRlL3RpbWUiO3M6NDU6IlpldCBkZSB3YWFyZGUgbmlldCBuYWFyIGRlIGh1aWRpZ2UgZGF0dW0vdGlqZCI7czo1NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGEgdGl0bGUgY2FuIGJlIGVudGVyZWQiO3M6NjM6IlRvb24gZ2VlbiBleHRyYSBpbnZvZXJ2ZWxkLCB3YWFyIGVlbiB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czo3NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGFuIGFsdGVybmF0aXZlIChwYWdlKSB0aXRsZSBjYW4gYmUgZW50ZXJlZCI7czo4NToiVG9vbiBnZWVuIGV4dHJhIGludm9lcnZlbGQsIHdhYXIgZWVuIGFsdGVybmF0aWV2ZSAocGFnaW5hKSB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czozMToiRG8gbm90IHNob3cgdGhlIHRvZGF5IGluZGljYXRvciI7czozNDoiVG9vbiBkZSBodWlkaWdlIGRhZyBpbmRpY2F0b3IgbmlldCI7czoyNDQ6IkRyYWcgYW5kIGRyb3AgZWFjaCBmaWVsZCB0eXBlIGluIHRoZSBwb3NpdGlvbiB5b3Ugd2FudCB0aGVtIGluLiBUaGUgb25lcyB0aGF0IGFyZSBjb2xvcmVkIHJlZCwgYXJlIGZpZWxkcyB0aGF0IGFyZSBzZWxlY3RlZCB1bmRlciB0aGUgJ0hpZGUgRmllbGQgVHlwZXMnLiBUaGlzIHdheSB5b3Uga25vdyB3aGljaCBvbmVzIGFyZSBoaWRkZW4gYW5kIHlvdSBjb3VsZCBkcmFnIHRoZW0gdG8gdGhlIGJvdHRvbSBvZiB0aGUgbGlzdC4iO3M6MjU1OiJTbGVlcCBlbGsgdmVsZCB0eXBlIG5hYXIgZGUgZ2V3ZW5zdGUgcG9zaXRpZS4gRGUgdmVsZCB0eXBlcyByb29kIGdla2xldXJkIHppam4gZGV6ZSBkaWUgemlqbiBnZXNlbGVjdGVlcmQgb25kZXIgJ1ZlcmJlcmcgdmVsZCB0eXBlcycuIFZpYSBkZXplIHdlZyBpcyBoZXQgbWFra2VsaWprIHRlIHppZW4gd2Vsa2UgdmVyYm9yZ2VuIHppam4gZW4ga3VubmVuIGRlemUgbmFhciBkZSBvbmRlcmthbnQgdmFuIGRlIGxpanN0IGdlc2xlZXB0IHdvcmRlbi4iO3M6MzA6IkVjaG8gdGhlIHNlbGVjdGVkIGtleSwgaS5lLiAlcyI7czozNToiRWNobyBkZSBnZXNlbGVjdGVlcmRlIGtleSwgYmlqdi4gJXMiO3M6MzI6IkVjaG8gdGhlIHNlbGVjdGVkIHZhbHVlLCBpLmUuICVzIjtzOjM4OiJFY2hvIGRlIGdlc2VsZWN0ZWVyZGUgd2FhcmRlLCBiaWp2LiAlcyI7czoxMzoiRW1haWwgc3ViamVjdCI7czoxNToiRW1haWwgb25kZXJ3ZXJwIjtzOjI4OiJFbmFibGUgcHJpdmFjeS1lbmhhbmNlZCBtb2RlIjtzOjM3OiJVaXRnZWJyZWlkZSBwcml2YWN5IG1vZHVzIGluc2NoYWtlbGVuIjtzOjM6IkVuZCI7czo1OiJFaW5kZSI7czo5MjoiRW50ZXIgeW91ciBzdGF0aWMgSFRNTCBoZXJlIChvciBhbnkgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSBwcmVmZXIsIGxpa2UgQ1NTL0pTL1BIUCkiO3M6ODc6IlZ1bCB1dyBzdGF0aXNjaGUgSFRNTCBoaWVyIGluIChvZiBlbGtlIGFuZGVyZSBwcm9ncmFtbWVlcnRhYWwgdSB3aWx0LCB6b2FscyBDU1MvSlMvUEhQKSI7czoxMDoiRXhwYW5kIEFsbCI7czoxNjoiQWxsZXMgdWl0a2xhcHBlbiI7czoxNDoiRmFsbGJhY2sgdmFsdWUiO3M6MTU6IlRlcnVndmFsIHdhYXJkZSI7czozNzoiRmllbGQgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyByZXF1aXJlZCI7czozNzoiVmVsZCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHZlcnBsaWNodCI7czoyMzoiRmllbGQgVHlwZSBDdXN0b20gT3JkZXIiO3M6Mjk6IlZlbGQgdHlwZSBhYW5nZXBhc3RlIHZvbGdvcmRlIjtzOjI5OiJGaWVsZCBUeXBlIEhhbmRsZSAoYXNjZW5kaW5nKSI7czoyODoiVmVsZCB0eXBlIGhhbmR2YXQgKG9wbG9wZW5kKSI7czozMDoiRmllbGQgVHlwZSBIYW5kbGUgKGRlc2NlbmRpbmcpIjtzOjI4OiJWZWxkIHR5cGUgaGFuZHZhdCAoYWZsb3BlbmQpIjtzOjI3OiJGaWVsZCBUeXBlIE5hbWUgKGFzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChvcGxvcGVuZCkiO3M6Mjg6IkZpZWxkIFR5cGUgTmFtZSAoZGVzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChhZmxvcGVuZCkiO3M6MTg6IkZpZWxkIFR5cGUgU29ydGluZyI7czoxOToiVmVsZCB0eXBlIHNvcnRlcmluZyI7czo2OiJGaWVsZHMiO3M6NjoiVmVsZGVuIjtzOjY4OiJGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4gRGVmYXVsdCB2YWx1ZXMgc2hvdWxkIGJlIE9LIGZvciBhbGwgdXNhZ2VzLiI7czo5MToiRW5rZWwgdm9vciBnZWF2YW5jZWVyZGUgZ2VicnVpa2Vycy4gU3RhbmRhYXJkIHdhYXJkZXMgbW9ldGVuIE9LIHppam4gdm9vciBhbGxlIHRvZXBhc3NpbmdlbiI7czoxNToiR2VuZXJhbCBPcHRpb25zIjtzOjE1OiJBbGdlbWVuZSBvcHRpZXMiO3M6NjoiSGFuZGxlIjtzOjc6IkhhbmR2YXQiO3M6NjoiSGVpZ2h0IjtzOjY6Ikhvb2d0ZSI7czozOiJIZXgiO3M6MzoiSGV4IjtzOjMwOiJIZXggKDMgQ2hhcmFjdGVycyBJZiBQb3NzaWJsZSkiO3M6MzM6IkhleCAoMyBrYXJha3RlcnMgaW5kaWVuIG1vZ2VsaWprKSI7czoxNjoiSGlkZSBGaWVsZCBUeXBlcyI7czoxODoiVmVyYmVyZyB2ZWxkIHR5cGVzIjtzOjE3OiJIaWRlIFlvdVR1YmUgbG9nbyI7czoyMDoiVmVyYmVyZyBZb3VUdWJlIGxvZ28iO3M6MjA6IkhpZGUgcGxheWVyIGNvbnRyb2xzIjtzOjMxOiJWZXJiZXJnIHZpZGVvc3BlbGVyIGJlZGllbmluZ2VuIjtzOjQ1OiJIaWRlIHN1Z2dlc3RlZCB2aWRlb3Mgd2hlbiB0aGUgdmlkZW8gZmluaXNoZXMiO3M6NjY6IlZlcmJlcmcgdm9vcmdlc3RlbGRlIHZpZGVvcyB3YW5uZWVyIGRlIHZpZGVvIGtsYWFyIGlzIG1ldCBhZnNwZWxlbiI7czoyMDoiSGlkZSB0aGUgZGF0ZSBwaWNrZXIiO3M6MjM6IlZlcmJlcmcgZGUgZGF0dW0ga2llemVyIjtzOjIzOiJIaWRlIHRoZSBtaW51dGVzIHBpY2tlciI7czoyNToiVmVyYmVyZyBkZSBtaW51dGVuIGtpZXplciI7czoyMzoiSGlkZSB0aGUgc2Vjb25kcyBwaWNrZXIiO3M6MjY6IlZlcmJlcmcgZGUgc2Vjb25kZW4ga2llemVyIjtzOjIwOiJIaWRlIHRoZSB0aW1lIHBpY2tlciI7czoyMjoiVmVyYmVyZyBkZSB0aWpkIGtpZXplciI7czoxNjoiSGlkZSB0aXRsZSBmaWVsZCI7czoxODoiVmVyYmVyZyB0aXRlbCB2ZWxkIjtzOjM1OiJIaWRlIHZpZGVvIHRpdGxlIGFuZCBwbGF5ZXIgYWN0aW9ucyI7czo0MToiVmVyYmVyZyB2aWRlbyB0aXRlbCBlbiB2aWRlb3NwZWxlciBhY3RpZXMiO3M6Mzc6IkhvdyBtYW55IGRlY2ltYWxzIHRoZSBudW1iZXIgbWF5IGhhdmUiO3M6NDE6IkhvZXZlZWwgZGVjaW1hbGVuIGhldCBudW1tZXIgbWFnIGJldmF0dGVuIjtzOjYyOiJIb3cgbWFueSBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiB0aGUgc2VsZWN0aW9uIHBhbGV0dGUgYXQgb25jZSI7czo3NDoiSG9ldmVlbCBlbGVtZW50ZW4gdGVnZWxpamsgZXIgemlqbiB0b2VnZXN0YWFuIGluIGRlIHNlbGVjdGllIHZhbiBoZXQgcGFsZXQiO3M6MzoiSHNsIjtzOjM6IkhzbCI7czoxOToiSHVtYW4tcmVhZGFibGUgbmFtZSI7czoxMzoiTGVlc2JhcmUgbmFhbSI7czo0OiJJY29uIjtzOjk6IlBpY3RvZ3JhbSI7czo3NzoiSWRlYWxseSBhIDUweDUwIHBpeGVscyBpbWFnZSB0byBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoIHRoaXMgYmxvY2sgZnJvbSBvdGhlcnMiO3M6OTI6IklkZWFsaXRlciBlZW4gNTB4NTAgcGl4ZWxzIGFmYmVlbGRpbmcsIGdlYnJ1aWt0IG9tIGRpdCBibG9rIHR5cGUgdGUgb25kZXJzY2hlaWRlbiB2YW4gYW5kZXJlIjtzOjk1OiJJZiBsZWZ0IGJsYW5rIGFuZCB0aGUgdXNlciBkb2VzIG5vdCBmaWxsIGluIGEgdGl0bGUsIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHdpbGwgYmUgdXNlZCBhcyB0aXRsZSI7czoxMDk6IkluZGllbiBsZWVnIGdlbGF0ZW4gZW4gZGUgZ2VicnVpa2VyIHZ1bHQgZ2VlbiB0aXRlbCBpbiwgemFsIGRlIG5hYW0gdmFuIGhldCBiZXN0YW5kIGdlYnJ1aWt0IHdvcmRlbiBhbHMgdGl0ZWwiO3M6MTA0OiJJZiB0aGUgaGFuZGxlIGlzIGZvdW5kLCBpdCB3aWxsIHVzZSBpdHMgZGF0YSB0byBjcmVhdGUgdGhlIGltYWdlIHdpdGggdGhlIGdpdmVuIHdpZHRoL2hlaWdodCAoZ28gdG8gJXMpLiI7czoxMjg6IkFscyBoZXQgaGFuZHZhdCBpcyBnZXZvbmRlbiwgemFsIGhldCBkZXplIGRhdGEgZ2VicnVpa2VuIG9tIGRlIGFmYmVlbGRpbmdlbiB0ZSBtYWtlbiBtZXQgZGUgZ2VnZXZlbiBicmVlZHRlL2hvb2d0ZSAoZ2EgbmFhciAlcykuIjtzOjEzMToiSWYgdGhlcmUgYXJlIG5vIGJ1dHRvbnMsIHRoZSBiZWhhdmlvciB3aWxsIGJlIHRvIGZpcmUgdGhlIGBjaGFuZ2VgIGV2ZW50IChhbmQgdXBkYXRlIHRoZSBvcmlnaW5hbCBpbnB1dCkgd2hlbiB0aGUgcGlja2VyIGlzIGNsb3NlZC4iO3M6MTYyOiJJbmRpZW4gZXIgZ2VlbiBrb3BwZW4gemlqbiwgemFsIGhldCBnZWRyYWcgemlqbiBvbSBoZXQgYGNoYW5nZWAgZXZlbnQgdGUgYWN0aXZlcmVuIChlbiBoZXQgdXBkYXRlbiB2YW4gZGUgb3JpZ2luZWxlIGludm9lcikgd2FubmVlciBkZSBjb2xvcnBpY2tlciB3b3JkdCBnZXNsb3Rlbi4iO3M6NDI6Iklnbm9yZSBQYWdlIFRoZW1lIEdyaWQgRnJhbWV3b3JrIENvbnRhaW5lciI7czo0MjoiTmVnZWVyIFBhZ2UgVGhlbWUgR3JpZCBGcmFtZXdvcmsgQ29udGFpbmVyIjtzOjk6Ikluc3RhbGxlZCI7czoxNDoiR2XDr25zdGFsbGVlcmQiO3M6OToiSW50ZXJmYWNlIjtzOjk6IkludGVyZmFjZSI7czo0ODoiS2VlcCB0cmFjayBvZiB3aGF0IGhhcyBiZWVuIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIjtzOjU0OiJIb3VkdCBiaWogdmFuIHdhdCBlciBpcyBnZXNlbGVjdGVlcmQgZG9vciBkZSBnZWJydWlrZXIiO3M6NToiTGFiZWwiO3M6NToiTGFiZWwiO3M6NDoiTGluayI7czo0OiJMaW5rIjtzOjI2OiJMaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdyI7czozMToiTGluayBvcGVudCBpbiBlZW4gbmlldXcgdmVuc3RlciI7czo0OiJMb29wIjtzOjEzOiJMb29wL2hlcmhhbGVuIjtzOjg3OiJMb3dlcmNhc2UgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIG9ubHksIHdpdGggYSBtaW5pbXVtIG9mICVzIGFuZCBtYXhpbXVtIG9mICVzIGNoYXJhY3RlcnMiO3M6MTA1OiJFbmtlbCBrbGVpbmUgbGV0dGVycywgaG9vZmRsZXR0ZXJzIGVuIHVuZGVyc2NvcmVzLCBtZXQgZWVuIG1pbWludW0gdmFuICVzIGVuIGVlbiBtYXhpbXVtIHZhbiAlcyBrYXJha3RlcnMiO3M6MTExOiJMb3dlcmNhc2UgbGV0dGVycyBhbmQgdW5kZXJzY29yZXMgb25seSAod2l0aG91dCBzdGFydGluZy9lbmRpbmcgd2l0aCB1bmRlcnNjb3JlcykgYW5kIGEgbWluaW11bSBvZiAzIGNoYXJhY3RlcnMiO3M6MTExOiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3JlcyAoem9uZGVyIGJlZ2lubmVuZC9laW5kaWdlbmQgbWV0IHVuZGVyc2NvcmVzKSBlbiBlZW4gbWluaW11bSB2YW4gMyBrYXJha3RlcnMiO3M6ODY6Ikxvd2VyY2FzZSBsZXR0ZXJzIGFuZCB1bmRlcnNjb3JlcyBvbmx5LiBDaG9vc2UgZnJvbSAlcyBvciBvbmUgb2YgeW91ciBvd24gc2V0IGhhbmRsZXMuIjtzOjk1OiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3Jlcy4gS2llcyB1aXQgJXMgb2YgZWVuIHZhbiB1dyBlaWdlbiBibG9rIHR5cGUgZ3JvZXAgaGFuZHZhdGVuLiI7czoyOToiTWFrZSBhIHRodW1ibmFpbCBvZiB0aGUgaW1hZ2UiO3M6MzY6Ik1hYWsgZWVuIG1pbmlhdHV1ciB2YW4gZGUgYWZiZWVsZGluZyI7czoxNToiTWFrZSB0aGUgYmxvY2shIjtzOjE0OiJNYWFrIGhldCBibG9rISI7czoxODoiTWF4IFNlbGVjdGlvbiBTaXplIjtzOjI0OiJNYXhpbWFsZSBzZWxlY3RpZSBhYW50YWwiO3M6MTI6Ik1heGltdW0gZGF0ZSI7czoxMzoiTWF4aW11bSBkYXR1bSI7czoxNDoiTWF4aW11bSBudW1iZXIiO3M6MTQ6Ik1heGltYWFsIGdldGFsIjtzOjI4OiJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIjtzOjI1OiJNYXhpbWFhbCBhYW50YWwga2FyYWt0ZXJzIjtzOjE0OiJNYXhpbXVtIHN0YWNrcyI7czoxNToiTWF4aW11bSBzdGFwZWxzIjtzOjEyOiJNaW5pbXVtIGRhdGUiO3M6MTM6Ik1pbmltdW0gZGF0dW0iO3M6MTQ6Ik1pbmltdW0gbnVtYmVyIjtzOjE0OiJNaW5pbWFhbCBnZXRhbCI7czoxNDoiTWluaW11bSBzdGFja3MiO3M6MTU6Ik1pbmltdW0gc3RhcGVscyI7czoxNToiTWludXRlIHN0ZXBwaW5nIjtzOjE0OiJNaW51dXQgc3RhcHBlbiI7czoxMzoiTXkgQmxvY2sgTmFtZSI7czoxNDoiTWlqbiBibG9rIG5hYW0iO3M6NDoiTmFtZSI7czo0OiJOYWFtIjtzOjI0OiJOYW1lIChGYWxscyBiYWNrIHRvIGhleCkiO3M6MjY6Ik5hYW0gKHZhbHQgdGVydWcgbmFhciBoZXgpIjtzOjU6Ik5hbWVkIjtzOjc6IkJlbm9lbWQiO3M6MjI6Ik5ldyBsaW5lIHRvIGJsYW5rIHJ1bGUiO3M6MzQ6Ik5pZXV3ZSByZWdlbCBuYWFyIHdpdHJlZ2VsIChubDJicikiO3M6MjoiTm8iO3M6MzoiTmVlIjtzOjQ4OiJObyAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIGJlZW4gZW50ZXJlZC4iO3M6NTE6IkdlZW4gJXMgdm9vciBkZSBhZmJlZWxkaW5nIG9wIHJpaiAjJXMgaXMgaW5nZXZvZXJkLiI7czoxNzoiTm8gQ29sb3IgU2VsZWN0ZWQiO3M6MjM6IkdlZW4ga2xldXIgZ2VzZWxlY3RlZXJkIjtzOjQzOiJObyBzZWxlY3QgY2hvaWNlcyB3ZXJlIGVudGVyZWQgZm9yIHJvdyAjJXMuIjtzOjQ4OiJHZWVuIHNlbGVjdCBrZXV6ZXMgemlqbiBpbmdldm9lcmQgdm9vciByaWogIyUgcy4iO3M6NDoiTm9uZSI7czo0OiJHZWVuIjtzOjIzOiJOb25lIChEZXBlbmRzIG9uIGlucHV0KSI7czozNjoiR2VlbiAoaGFuZ3QgYWYgdmFuIGluZ2V2dWxkZSB3YWFyZGUpIjtzOjEzOiJOb3QgSW5zdGFsbGVkIjtzOjE5OiJOaWV0IGdlw69uc3RhbGxlZXJkIjtzOjY6Ik51bWJlciI7czo2OiJOdW1tZXIiO3M6MTM6Ik51bWJlciBmb3JtYXQiO3M6MTI6IkdldGFsbm90YXRpZSI7czo1MzoiT25lIG9yIG11bHRpcGxlIGZpZWxkcyBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgYSBibG9jay4iO3M6NjU6IkVlbiBvZiBtZWVyZGVyZSB2ZWxkZW4gemlqbiB2ZXJwbGljaHQgb20gZWVuIGJsb2sgdHlwZSB0ZSBib3V3ZW4uIjtzOjQyOiJPbmx5IG91dHB1dCB0aGUgc291cmNlIChwYXRoKSBvZiB0aGUgaW1hZ2UiO3M6NDQ6IkFsbGVlbiBkZSBicm9uIChwYWQpIHZhbiBkZSBhZmJlZWxkaW5nIHRvbmVuIjtzOjE1NjoiT3JkZXIgeW91ciBibG9ja3MgZm9yIGVhY2ggYmxvY2sgdHlwZSBzZXQuIFRoZSBvcmRlciBpbiB3aGljaCB5b3UgYXJyYW5nZSBibG9ja3MgaXMgaW4gd2hpY2ggb3JkZXIgdGhleSB3aWxsIHNob3cgdXAgd2hpbGUgZHJhZ2dpbmcgYmxvY2tzIG9uIHRoZSBmcm9udCBlbmQuIjtzOjE4MzoiT3JkZW4gdXcgYmxvayB0eXBlcyB2b29yIGVsayBibG9rIHR5cGUgZ3JvZXAuIERlIHZvbGdvcmRlIHdhYXJpbiB1IGRlIGJsb2sgdHlwZXMgcGxhYXRzdCwgaXMgZGUgdm9sZ29yZGUgZGllIGdldG9vbmQgd29yZCB3YW5uZWVyIHUgYmxvayB0eXBlcyB0b2V2b2VndCBhYW4gZGUgdm9vcmthbnQgdmFuIGRlIHdlYnNpdGUuIjtzOjU6Ik90aGVyIjtzOjY6IkFuZGVycyI7czo0OiJQYWdlIjtzOjY6IlBhZ2luYSI7czoxNToiUGFsZXR0ZSBPcHRpb25zIjtzOjEyOiJQYWxldCBvcHRpZXMiO3M6MTI6IlBhbGV0dGUgUm93cyI7czoxMToiUGFsZXQgcmlqZW4iO3M6MTE6IlBsYWNlaG9sZGVyIjtzOjExOiJQbGFjZWhvbGRlciI7czozNzoiUG9zaXRpb25lZCBhcyBhbiBpbmxpbmUtYmxvY2sgZWxlbWVudCI7czo0NToiR2Vwb3NpdGlvbmVlcmQgYWxzIGVlbiAnaW5saW5lLWJsb2NrJyBlbGVtZW50IjtzOjExNDoiUG9zaXRpb25lZCBiZWxvdyB0aGUgY29sb3JwaWNrZXIgdG8gbWFrZSBpdCBjb252ZW5pZW50IGZvciB1c2VycyB0byBjaG9vc2UgZnJvbSBmcmVxdWVudGx5IG9yIHJlY2VudGx5IHVzZWQgY29sb3JzIjtzOjEyNToiR2Vwb3NpdGlvbmVlcmQgb25kZXIgZGUgY29sb3JwaWNrZXIsIG9tIGhldCBoYW5kaWcgdGUgbWFrZW4gdm9vciBnZWJydWlrZXJzIG9tIHRlIGtpZXplbiB1aXQgdmFhayBvZiByZWNlbnQgZ2VicnVpa3RlIGtsZXVyZW4iO3M6MTY6IlByZWZlcnJlZCBGb3JtYXQiO3M6MTU6Ikdld2Vuc3RlIGZvcm1hdCI7czo0NjoiUHJldmVudHMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIGZyb20gZGlzcGxheWluZyI7czo0OToiVm9vcmtvbXQgZGF0IGRlIHZvbGxlZGlnIHNjaGVybS1rbm9wIHppY2h0YmFhciBpcyI7czoyMToiUmVxdWlyZWQgdGl0bGUgZmllbGQ/IjtzOjIxOiJWZXJwbGljaHQgdGl0ZWwgdmVsZD8iO3M6OToiUmVxdWlyZWQ/IjtzOjEwOiJWZXJwbGljaHQ/IjtzOjE2OiJSZXNwb25zaXZlIGltYWdlIjtzOjIxOiJSZXNwb25zaXZlIGFmYmVlbGRpbmciO3M6Njk6IlJldHVybnMgZW50ZXJlZCBzdHJpbmcgd2l0aCAnJXMnIG9yICclcycgaW5zZXJ0ZWQgYmVmb3JlIGFsbCBuZXdsaW5lcyI7czo4MDoiWmFsIGluZ2V2b2VyZGUgc3RyaW5nIG1ldCAnJXMnIG9mICclcycgdm9vcnppZW4sIHZvb3IgYWxsZSBuaWV1dyBiZWdvbm5lbiByZWdlbHMiO3M6MzoiUmdiIjtzOjM6IlJnYiI7czo0OiJSZ2JhIjtzOjQ6IlJnYmEiO3M6MzoiUm93IjtzOjM6IlJpaiI7czo0OiJTYXZlIjtzOjc6Ik9wc2xhYW4iO3M6NDc6IlNhdmUgc2VsZWN0aW9uIGluIGJyb3dzZXIncyBsb2NhbFN0b3JhZ2Ugb2JqZWN0IjtzOjU2OiJTbGEgc2VsZWN0aWUgaW4gZGUgYnJvd3NlciB6aWpuICdsb2NhbFN0b3JhZ2Ugb2JqZWN0JyBvcCI7czoxMzoiU2Nyb2xsIFRvIFRvcCI7czoxNzoiU2Nyb2xsIG5hYXIgYm92ZW4iO3M6Mjk6IlNlbGVjdCBjaG9pY2VzIChvbmUgcGVyIGxpbmUpIjtzOjI5OiJTZWxlY3Qga2V1emVzIChlZW4gcGVyIHJlZ2VsKSI7czo5ODoiU2V0IHlvdXIgb3duIGFycmF5IGtleSBmb3IgdmFsdWVzLCBieSB1c2luZyAyIGNvbG9ucyAoJyA6OiAnKSBvbiBlYWNoIGxpbmUgLSBleHRyYSBzcGFjZXMgcmVxdWlyZWQiO3M6MTIyOiJaZXQgdXcgZWlnZW4gYXJyYXkga2V5IHZvb3Igd2FhcmRlcywgZG9vciAyIG1hYWwgZHViYmVsZSBwdW50ICgnIDo6ICcpIG9wIGVsa2UgcmVnZWwgdGUgcGxhYXRzZW4gLSBleHRyYSBzcGF0aWVzIHZlcnBsaWNodCI7czozNDoiU2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcG9pbnRzLiI7czoyNToiWmV0IGhldCBhYW50YWwgZGVjaW1hbGVuLiI7czo0MToiU2V0cyB0aGUgc2VwYXJhdG9yIGZvciB0aGUgZGVjaW1hbCBwb2ludC4iO3M6NDc6IlpldCBoZXQgc2NoZWRpbmdzdGVrZW4gdm9vciBoZXQgZGVjaW1hYWwgZ2V0YWwuIjtzOjI5OiJTZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yLiI7czo0MzoiWmV0IGhldCB0ZWtlbiBvbSBkdWl6ZW5kdGFsbGVuIHRlIHNjaGVpZGVuLiI7czoxNToiU2V0dGluZ3Mgc2F2ZWQuIjtzOjI0OiJJbnN0ZWxsaW5nZW4gb3BnZXNsYWdlbi4iO3M6NTk6IlNob3cgYSBidXR0b24gdG8gdG9nZ2xlIHRoZSBjb2xvcnBpY2tlciBuZXh0IHRvIHRoZSBwYWxldHRlIjtzOjU2OiJUb29uIGVlbiBrbm9wIG9tIGRlIGNvbG9ycGlja2VyIG5hYXN0IGhldCBwYWxldCB0ZSB0b25lbiI7czoxNDoiU2hvdyBhIHBhbGV0dGUiO3M6MTQ6IlRvb24gZWVuIHBhbGV0IjtzOjEyOiJTaG93IGJ1dHRvbnMiO3M6MTI6IlRvb24ga25vcHBlbiI7czo3MzoiU2hvdyBjbG9zZWQgY2FwdGlvbnMgYnkgZGVmYXVsdCwgZXZlbiBpZiB0aGUgdXNlciBoYXMgdHVybmVkIGNhcHRpb25zIG9mZiI7czo5MzoiVG9vbiBnZXNsb3RlbiBiaWpzY2hyaWZ0ZW4gc3RhbmRhYXJkLCB6ZWxmcyBhbHMgZGUgZ2VicnVpa2VyIGJpanNjaHJpZnRlbiBoZWVmdCB1aXRnZXNjaGFrZWxkIjtzOjEwOiJTaG93IGlucHV0IjtzOjE1OiJUb29uIGludm9lcnZlbGQiO3M6NTA6IlNob3cgdGhlIGNvbG9yIHRoYXQgd2FzIGluaXRpYWxseSBzZXQgd2hlbiBvcGVuaW5nIjtzOjUxOiJUb29uIGRlIGtsZXVyIGRpZSBpbml0aWVlbCB3YXMgZ2V6ZXQgYmlqIGhldCBvcGVuZW4iO3M6NDI6IlNob3cgdGhlIGRhdGUgYW5kIHRpbWUgcGlja2VyIHNpZGUgYnkgc2lkZSI7czo0MToiVG9vbiBkZSBkYXR1bSAtZW4gdGlqZCBraWV6ZXIgemlqIGFhbiB6aWoiO3M6NDc6IlNob3cgdGhlIHBhbGV0dGVzIHlvdSBzcGVjaWZ5LCBhbmQgbm90aGluZyBlbHNlIjtzOjU1OiJUb29uIGRlIHBhbGV0dGVuIGRpZSB1IGhlZWZ0IG9wZ2VnZXZlbiwgZW4gbmlldHMgYW5kZXJzIjtzOjE2OiJTaG93IHRpdGxlIGZpZWxkIjtzOjE1OiJUb29uIHRpdGVsIHZlbGQiO3M6Nzg6IlNraXAgY29udmVydGluZyBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcyAoY29uY3JldGU1J3MgJ2gnIGZ1bmN0aW9uKSI7czo5ODoiU2xhIGhldCBjb252ZXJ0ZXJlbiB2YW4gc3BlY2lhbGUga2FyYWt0ZXJzIG5hYXIgSFRNTC1lbnRpdGVpdGVuIG92ZXIgKGNvbmNyZXRlNSB6aWpuICdoJyBmdW5jdGllKSAiO3M6NDoiU2x1ZyI7czo0OiJTbHVnIjtzOjU6IlN0YXJ0IjtzOjU6IlN0YXJ0IjtzOjExOiJTdGF0aWMgSFRNTCI7czoxNDoiU3RhdGlzY2hlIEhUTUwiO3M6MTI6IlRhYmxlIHByZWZpeCI7czoxNzoiVGFiZWwgdm9vcnZvZWdzZWwiO3M6MTY6IlRlc3QgdGhlIGV4YW1wbGUiO3M6MTg6IlRlc3QgaGV0IHZvb3JiZWVsZCI7czo4OiJUZXh0IEJveCI7czo4OiJUZWtzdHZhayI7czo4ODoiVGhlICVzIGZvciB0aGUgaW1hZ2Ugb24gcm93ICMlcyBoYXMgdG8gYmUgYSBudW1lcmljIHZhbHVlIChmbG9hdGluZyBudW1iZXJzIGRpc2FsbG93ZWQpLiI7czoxMDM6IkRlICVzIHZvb3IgZGUgYWZiZWVsZGluZyBvcCByaWogIyVzIG1vZXQgZWVuIG51bWVyaWVrZSB3YWFyZGUgemlqbiAoZGVjaW1hbGUgZ2V0YWxsZW4gbmlldCB0b2VnZXN0YWFuKS4iO3M6NTY6IlRoZSAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIHRvIGJlIGhpZ2hlciB0aGFuIDAuIjtzOjU5OiJEZSAlcyB2b29yIGRlIGFmYmVlbGRpbmcgb3AgcmlqICMlcyBtb2V0IGdyb3RlciB6aWpuIGRhbiAwLiI7czozODoiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBleGlzdC4iO3M6MzY6IkhldCBibG9rIHR5cGUgbGlqa3QgbmlldCB0ZSBiZXN0YWFuLiI7czo2MToiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBoYXZlIGFuIGV4aXN0aW5nIGNvbmZpZyBmaWxlLiI7czo2NToiSGV0IGJsb2sgdHlwZSBsaWprdCBnZWVuIGJlc3RhYW5kIGNvbmZpZ3VyYXRpZSBiZXN0YW5kIHRlIGhlYmJlbi4iO3M6NTI6IlRoZSBkYXRlIGZvcm1hdCBmaWVsZCBmb3IgJyVzJyAocm93ICMlcykgaXMgcmVxdWlyZWQiO3M6NTQ6IkhldCBkYXR1bW5vdGF0aWUgdmVsZCB2b29yICclcycgKHJvdyAjJXMpIGlzIHZlcnBsaWNodCI7czo5NToiVGhlIGVtYWlsIHN1YmplY3Qgd2hlbiBzZW5kaW5nIHRoZSBlbWFpbCAoc29tZSBhcHBsaWNhdGlvbnMvZW1haWwgY2xpZW50cyBtYXkgbm90IHN1cHBvcnQgdGhpcykiO3M6MTE5OiJIZXQgZW1haWwgb25kZXJ3ZXJwIHdhbm5lZXIgZGUgZW1haWwgdmVyc3R1dXJkIHdvcmR0IChzb21taWdlIHRvZXBhc3Npbmdlbi9lLW1haWwgY2xpZW50cyB6dWxsZW4gZGl0IG5pZXQgb25kZXJzdGV1bmVuKSI7czoxNjE6IlRoZSBlbnRlcmVkIGRlc2NyaXB0aW9uIHdpbGwgYmUgc2hvd24gd2l0aCB0aGUgdmVyeSBzYW1lIHF1ZXN0aW9uIG1hcmssIG5leHQgdG8gdGhlIGVudGVyZWQgbGFiZWwuIFVzZXJzIGhhdmUgdG8gaG92ZXIgdGhlIHF1ZXN0aW9uIG1hcmsgdG8gc2hvdyB0aGUgZGVzY3JpcHRpb24uIjtzOjE4OToiRGUgaW5nZXZ1bGRlIG9tc2NocmlqdmluZyB6YWwgd29yZGVuIGdldG9vbmQgbWV0IGV4YWN0IGhldHplbGZkZSB2cmFhZ3Rla2VuLCBuYWFzdCBoZXQgaW5nZXZ1bGRlIGxhYmVsLiBHZWJydWlrZXJzIG1vZXRlbiBvdmVyIGhldCB2cmFhZ3Rla2VuIGJld2VnZW4gbWV0IGRlIG11aXMgb20gZGUgb21zY2hyaWp2aW5nIHRlIHppZW4uIjtzOjMyOiJUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIG51bWJlciI7czozMToiRGUgbWF4aW11bSBsZW5ndGUgdmFuIGhldCBnZXRhbCI7czoyMjoiVGhlIHZpZGVvIHByb2dyZXNzIGJhciI7czoyMzoiRGUgdmlkZW8gdm9vcnRnYW5nc2JhbGsiO3M6NToiVGhlbWUiO3M6NToiVGhlbWEiO3M6Njc6IlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gYmxvY2tzIGF2YWlsYWJsZSB3aXRoIGxvYWRhYmxlIGNvbmZpZyBmaWxlcy4iO3M6ODQ6IkVyIHppam4gbW9tZW50ZWVsIGdlZW4gYmxvayB0eXBlcyBiZXNjaGlrYmFhciBtZXQgaW4gdGUgbGFkZW4gY29uZmlndXJhdGllIGJlc3RhbmRlbiI7czoxMDQ6IlRoZXJlIGFyZSBubyBmaWVsZCB0eXBlcyAoeWV0KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHBhY2thZ2Ugb3IgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5nZXQgaGVscDwvYT4uIjtzOjEwNzoiRXIgemlqbiAobm9nKSBnZWVuIHZlbGQgdHlwZXMuIFVwZGF0ZSB1dyBleHRlbnNpZSBhLnUuYi4gb2YgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj52ZXJrcmlqZyBodWxwPC9hPi4iO3M6ODk6IlRoZXJlIGFyZSBubyBmaWVsZHMgYWRkZWQgeWV0LiBTdGFydCBhZGRpbmcgb25lIGJ5IGNsaWNraW5nIG9uZSBvZiB0aGUgZmllbGQgdHlwZXMgYmVsb3cuIjtzOjExNDoiRXIgemlqbiBub2cgZ2VlbiB2ZWxkZW4gdG9lZ2V2b2VnZC4gQmVnaW4gbWV0IGhldCB0b2V2b2VnZW4gZG9vciB0ZSBrbGlra2VuIG9wIGVlbiB2YW4gZGUgdmVsZCB0eXBlcyBoaWVyIGJlbmVkZW4uIjtzOjYxOiJUaGVyZSB3YXMgbm8gYmxvY2sgaGFuZGxlIGZvdW5kLiBQbGVhc2UgZW50ZXIgYSBibG9jayBoYW5kbGUuIjtzOjc3OiJFciB3ZXJkIGdlZW4gYmxvayB0eXBlIGhhbmR2YXQgZ2V2b25kZW4uIFZ1bCBhLnUuYi4gZWVuIGJsb2sgdHlwZSBoYW5kdmF0IGluLiI7czo1NDoiVGhlcmUgd2FzIG5vIHNsdWcgZm91bmQgZm9yIHJvdyAjJXMuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY4OiJFciB3ZXJkIGdlZW4gc2x1ZyBnZXZvbmRlbiB2b29yIHJpaiAjJXMuIFByb2JlZXIgaGV0IGEudS5iLiBvcG5pZXV3LiI7czo2NToiVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlbnRlciBIVE1MIGNoYXJhY3RlcnMgaW4geW91ciB0ZXh0IGFyZWEiO3M6NzI6IkRpdCBtYWFrdCBoZXQgbW9nZWxpamsgb20gSFRNTCBrYXJha3RlcnMgaW4gamUgdGVrc3RnZWJpZWQgdGUgZ2VicnVpa2VuICI7czo2NDoiVGhpcyBuYW1lIHdpbGwgYmUgdXNlZCBpbiB0aGUgdmlldyBmaWxlIChhLXpBLVogY2hhcmFjdGVycyBvbmx5KSI7czo2OToiRGV6ZSBuYWFtIHdvcmR0IGdlYnJ1aWt0IGluIGhldCB2aWV3IGJlc3RhbmQgKGVua2VsIGEtekEtWiBrYXJha3RlcnMpIjtzOjExODoiVGhpcyBwYXJhbWV0ZXIgY2F1c2VzIHRoZSBwbGF5ZXIgdG8gYmVnaW4gcGxheWluZyB0aGUgdmlkZW8gYXQgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyI7czoxMjk6IkRlemUgcGFyYW1ldGVyIHpvcmd0IGVydm9vciBkYXQgZGUgdmlkZW9zcGVsZXIgZGUgdmlkZW8gZ2FhdCBhZnNwZWxlbiBvcCBoZXQgZ2VnZXZlbiBhYW50YWwgc2Vjb25kZW4gdmFuYWYgaGV0IGJlZ2luIHZhbiBkZSB2aWRlbyI7czoxMTk6IlRoaXMgc3BlY2lmaWVzIHRoZSB0aW1lLCBtZWFzdXJlZCBpbiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbywgd2hlbiB0aGUgcGxheWVyIHNob3VsZCBzdG9wIHBsYXlpbmcgdGhlIHZpZGVvIjtzOjEzNDoiRGl0IHNwZWNpZmljZWVydCBkZSB0aWpkLCBnZW1ldGVuIGluIHNlY29uZGUgdmFuYWYgZGUgc3RhcnQgdmFuIGRlIHZpZGVvLCB3YW5uZWVyIGRlIHBsYXllciBtb2V0IHN0b3BwZW4gbWV0IGhldCBhZnNwZWxlbiB2YW4gZGUgdmlkZW8iO3M6MTI4OiJUaGlzIHdpbGwgb25seSBoaWRlIHRoZW0gZnJvbSB0aGUgJ0FkZCBhIGZpZWxkJyBsaXN0LCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGxvYWQgY29uZmlndXJhdGlvbnMgd2l0aCB0aGUgaGlkZGVuIGZpZWxkIHR5cGVzLiI7czoxNDQ6IkRpdCB6YWwgemUgYWxsZWVuIHZlcmJlcmdlbiB2YW4gZGUgJ0VlbiB2ZWxkIHRvZXZvZWdlbicgbGlqc3QsIGhldCBpcyBub2cgc3RlZWRzIG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZXMgdGUgbGFkZW4gbWV0IGRlIHZlcmJvcmdlbiB2ZWxkIHR5cGVzLiI7czoxOToiVGhvdXNhbmRzIHNlcGFyYXRvciI7czoxNjoiRHVpemVuZHRhbCB0ZWtlbiI7czoxNjoiVGh1bWJuYWlsIGhhbmRsZSI7czoxNzoiVGh1bWJuYWlsIGhhbmR2YXQiO3M6MTA6IlRodW1ibmFpbHMiO3M6MTA6IlRodW1ibmFpbHMiO3M6MjA6IlRpdGxlIGZhbGxiYWNrIHZhbHVlIjtzOjIxOiJUaXRlbCB0ZXJ1Z3ZhbCB3YWFyZGUiO3M6MTc6IlRpdGxlIHBsYWNlaG9sZGVyIjtzOjE3OiJUaXRlbCBwbGFjZWhvbGRlciI7czoxMjA6IlRvIGNoYW5nZSB0aGUgb3JkZXIgb2YgQmxvY2sgVHlwZSBTZXRzLCBzdGFydCBieSBkcmFnZ2luZyB0aGUgbmFtZSBvZiB0aGUgQmxvY2sgVHlwZSBTZXQgdG8gdGhlIHBvc2l0aW9uIHlvdSB3b3VsZCBsaWtlLiI7czoxMjY6Ik9tIGRlIHZvbGdvcmRlIHZhbiBibG9rIHR5cGUgZ3JvZXBlbiB0ZSB3aWp6aWdlbiwgYmVnaW4gbWV0IGhldCBzbGVwZW4gdmFuIGRlIG5hYW0gdmFuIGhldCBibG9rIHR5cGUgbmFhciBkZSBnZXdlbnN0ZSBwb3NpdGllLiI7czoyNjoiVG9nZ2xlIFBhbGV0dGUgJ2xlc3MnIHRleHQiO3M6MjA6IlBhbGV0ICdtaW5kZXInIHRla3N0IjtzOjI2OiJUb2dnbGUgUGFsZXR0ZSAnbW9yZScgdGV4dCI7czoxODoiUGFsZXQgJ21lZXInIHRla3N0IjtzOjQ6IlR5cGUiO3M6NDoiVHlwZSI7czozOiJVUkwiO3M6MzoiVVJMIjtzOjM0OiJVc2UgJ3N0cmljdCcgd2hlbiB2YWxpZGF0aW5nIGRhdGVzIjtzOjQzOiJHZWJydWlrICdzdHJpY3QnIGJpaiBoZXQgdmFsaWRlcmVuIHZhbiBkYXRhIjtzOjM2OiJVc2UgYSBkb3QgKC4pIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3IiO3M6NDU6IkdlYnJ1aWsgZWVuIHB1bnQgKC4pIG9tIGRlY2ltYWxlbiB0ZSBzY2hlaWRlbiI7czo2NjoiVXNlIGNvbmNyZXRlNSdzIHRyYW5zbGF0ZSBmdW5jdGlvbiBmb3IgYWxsIHNlbGVjdCBjaG9pY2VzICh2YWx1ZXMpIjtzOjY5OiJHZWJydWlrIGNvbmNyZXRlNSdzIHZlcnRhYWwgZnVuY3RpZSB2b29yIGFsbGUgc2VsZWN0IGtldXplcyAod2FhcmRlcykiO3M6NDg6IlVzZSBkb3dubG9hZCBsaW5rLCBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGggbGluayI7czo1NDoiR2VicnVpayBkb3dubG9hZCBsaW5rLCBpbiBwbGFhdHMgdmFuIHJlbGF0aWVmIHBhZCBsaW5rIjtzOjQ5OiJVc2VzIENvbmNyZXRlNSBpbWFnZSBoZWxwZXIsIHRvIG91dHB1dCB0aGUgaW1hZ2UuIjtzOjY1OiJHZWJydWlrIGRlIGNvbmNyZXRlNSBhZmJlZWxkaW5nLWhlbHBlciwgb20gZGUgYWZiZWVsZGluZyB0ZSB0b25lbiI7czozODoiVXNlcyBhbiBpbnB1dCBib3ggd2l0aCB0aGUgY29sb3IgdmFsdWUiO3M6NDE6IkdlYnJ1aWsgZWVuIGludm9lcnZlbGQgbWV0IGRlIGtsZXVyd2FhcmRlIjtzOjU6IlZhbHVlIjtzOjY6IldhYXJkZSI7czo0NjoiVmFsdWUgY2FuIGJlIGNsZWFyZWQgYnkgY2xpY2tpbmcgYSAnJXMnIGJ1dHRvbiI7czo1MzoiV2FhcmRlIGthbiB3b3JkZW4gZ2V3aXN0IGRvb3IgdGUga2xpa2tlbiBvcCAnJXMnIGtub3AiO3M6NjA6IlZhbHVlIHdpdGhvdXQgYSBrZXksIHRoaXMgd2lsbCBiZSBhc3NpZ25lZCBieSB0aGUgZmllbGQgdHlwZSI7czo2ODoiV2FhcmRlIHpvbmRlciBrZXksIGRlemUgemFsIHdvcmRlbiB0b2VnZWtlbmQgZG9vciBoZXQgdmVsZCB0eXBlIHplbGYiO3M6NzoiVmVyc2lvbiI7czo2OiJWZXJzaWUiO3M6NDQ6IlZpZGVvIGFubm90YXRpb25zIHRvIGJlIG5vdCBzaG93biBieSBkZWZhdWx0IjtzOjM2OiJWaWRlb2Fubm90YXRpZXMgbmlldCBzdGFuZGFhcmQgdG9uZW4iO3M6MTA6IlZpZGVvIHNpemUiO3M6MTk6IlZpZGVvc3BlbGVyIGdyb290dGUiO3M6ODoiVmlldyBDU1MiO3M6ODoiVmlldyBDU1MiO3M6MTU6IlZpZXcgSmF2YVNjcmlwdCI7czoxNToiVmlldyBKYXZhU2NyaXB0IjtzOjM2OiJWaWV3IGRhdGV0aW1lcGlja2VyIG9wdGlvbnMvZGVmYXVsdHMiO3M6NDY6IkJla2lqayBkYXRldGltZXBpY2tlciBvcHRpZXMvc3RhbmRhYXJkIHdhYXJkZXMiO3M6MTE6IlZpZXcgb3V0cHV0IjtzOjExOiJWaWV3IG91dHB1dCI7czo3OiJXWVNJV1lHIjtzOjc6IldZU0lXWUciO3M6MTIyOiJXaGVuIGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIGNvbG9ycGlja2VyLCB5b3UgY2FuIGZvcmNlIGl0IHRvIGZpcmUgYSBjaGFuZ2UgZXZlbnQgcmF0aGVyIHRoYW4gaGF2aW5nIGl0IHJldmVydCB0aGUgY2hhbmdlLiI7czoxNDg6Ildhbm5lZXIgYnVpdGVuIGRlIGNvbG9ycGlja2VyIHdvcmR0IGdlbGlrdCwga3VudCB1IGhldCBmb3JjZXJlbiBvbSBlZW4gYGNoYW5nZWAgZXZlbnQgdGUgYWN0aWV2ZXJlbiwgaW4gcGxhYXRzIHZhbiBoZXQgdGVydWd6ZXR0ZW4gdmFuIGRlIHdpanppZ2luZy4iO3M6NToiV2lkdGgiO3M6NzoiQnJlZWR0ZSI7czoxMzM6IldpZHRoIGFuZCBoZWlnaHQgYXJlIHJlcXVpcmVkIHVwb24gbWFraW5nIHRoZSBpbWFnZSBhIHRodW1ibmFpbC4gQm90aCB2YWx1ZXMgYXJlIGJlaW5nIGVudGVyZWQgaW4gd2hvbGUgcGl4ZWxzIChubyBkZWNpbWFscyBhbGxvd2VkKS4iO3M6MTY3OiJCcmVlZHRlIGVuIGhvb2d0ZSB6aWpuIHZlcnBsaWNodCBiaWogaGV0IG1ha2VuIHZhbiBlZW4gbWluaWF0dXVyIHZhbiBkZSBhZmJlZWxkaW5nLiBCZWlkZSB3YWFyZGVzIHp1bGxlbiB3b3JkZW4gaW5nZXZ1bGQgbWV0IGdlaGVsZSBwaXhlbHMgKGdlZW4gZGVjaW1hbGVuIHRvZWdlc3RhYW4pLiI7czoxODoiV3JhcHBlciBIVE1MIGNsb3NlIjtzOjIwOiJXcmFwcGVyIEhUTUwgc2x1aXRlbiI7czoxNzoiV3JhcHBlciBIVE1MIG9wZW4iO3M6MTk6IldyYXBwZXIgSFRNTCBvcGVuZW4iO3M6MzoiWWVzIjtzOjI6IkphIjtzOjEwMToiWW91IGNhbiBlbnRlciBIZXgsIEhzbCwgUmdiLCBSZ2JhICh3aXRoIGFscGhhKSBvciBOYW1lZCBjb2xvciB2YWx1ZXMuIFNlZSB0aGUgbGlzdCBiZWxvdyBmb3IgZXhhbXBsZXMiO3M6MTE5OiJVIGt1bnQgSGV4LCBIc2wsIFJnYiwgUmdiYSAobWV0IGFscGhhKSBvZiBiZW5vZW1kZSBrbGV1cndhYXJkZXMgaW52dWxsZW4uIEJla2lqayBkZSBsaWpzdCBoaWVyb25kZXIgdm9vciBkZSB2b29yYmVlbGRlbiI7czo4OToiWW91IGNhbiBub3QgZW50ZXIgZmxvYXRpbmcgbnVtYmVycyBvbiB0aGUgZmllbGRzIGFib3ZlLCBhcyB0aGUgYm94ICclcycgaGFzIGJlZW4gY2hlY2tlZC4iO3M6OTc6IlUga3VudCBnZWVuIGRlY2ltYWxlIGdldGFsbGVuIGluIGRlIHZlbGRlbiBoaWVyYm92ZW4gaW52dWxsZW4sIG9tZGF0IGhldCB2ZWxkICclcycgaXMgYWFuZ2V2aW5rdC4iO3M6Njg6IllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGluc3RhbGwgY3VzdG9tIGJsb2NrIHR5cGVzIG9yIGFkZC1vbnMuIjtzOjc3OiJVIGhlZWZ0IGdlZW4gdG9lc3RlbW1pbmcgb20gYWFuZ2VwYXN0ZSBibG9rIHR5cGVzIG9mIGV4dGVuc2llcyB0ZSBpbnN0YWxsZXJlbiI7czo3OiJZb3VUdWJlIjtzOjc6IllvdVR1YmUiO3M6MzE6ImEteiwgZGFzaGVzIGFuZCB1bmRlcnNjb3JlIG9ubHkiO3M6MzQ6IkVua2VsIGEteiwgc3RyZWVwamVzIGVuIHVuZGVyc2NvcmUiO3M6NDoiaS5lLiI7czo1OiJiaWp2LiI7czo3OiJpLmUuICVzIjtzOjg6ImJpanYuICVzIjtzOjc1OiJpLmUuICVzIHdpbGwgZ2VuZXJhdGUgJXMgLSBtb3JlIGluZm8gb24gPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6ODI6ImJpanYuICVzIHphbCAlcyBnZW5lcmVyZW4gLSBtZWVyIGluZm9ybWF0aWUgb3AgPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6MTM6InJlcXVpcmVzICclcyciO3M6MTI6InZlcmVpc3QgJyVzJyI7czoxMjoiQ2FjaGUgV2FybWVyIjtzOjEyOiJDYWNoZSBXYXJtZXIiO3M6MjI6IkNhY2hlIFdhcm1lciBjb21wbGV0ZWQiO3M6MjE6IkNhY2hlIFdhcm1lciBhZmdlcm9uZCI7czozOToiQ2FjaGUgZmlsZSBjb3VsZG4ndCBiZSBjcmVhdGVkIGZvciAnJXMnIjtzOjUzOiJDYWNoZWJlc3RhbmQga29uIG5pZXQgYWFuZ2VtYWFrdCB3b3JkZW4gdm9vciDigJglc+KAmSI7czo2ODoiRHVlIHRvIGEgYnVnIGluIHRoZSBjb3JlIHRoaXMgYWRkLW9uIHdvbid0IHdvcmsgb24gUEhQIDcgYW5kIGhpZ2hlci4iO3M6Njc6IkRvb3IgZWVuIGZvdXQgaW4gZGUgY29yZSB3ZXJrdCBkZXplIGFkZC1vbiBuaWV0IG1ldCBQSFAgNyBlbiBob2dlci4iO3M6MjU6IkZpbHRlciBwYWdlcyBieSBwYWdlIHR5cGUiO3M6MzE6IkZpbHRlciBwYWdpbmHigJlzIG9wIHBhZ2luYXR5cGUiO3M6NDM6IkdlbmVyYXRlcyBjYWNoZSBmaWxlcyB0byByZWR1Y2UgbG9hZCB0aW1lcy4iO3M6NTA6IkdlbmVyZWVydCBjYWNoZWJlc3RhbmRlbiB2b29yIHNuZWxsZXJlIGxhYWR0aWpkZW4uIjtzOjMxOiJMaW1pdCBudW1iZXIgb2YgcGFnZXMgcGVyIGJhdGNoIjtzOjM4OiJCZXBlcmsgaGV0IGFhbnRhbCBwYWdpbmHigJlzIHBlciByZWVrcyI7czoxNDoiU2V0dGluZ3Mgc2F2ZWQiO3M6MjM6Ikluc3RlbGxpbmdlbiBvcGdlc2xhZ2VuIjtzOjMwOiJUaGlzIGpvYiB3b24ndCBydW4gdmlhIHRoZSBDTEkiO3M6NDQ6IkRlemUgdGFhayBrYW4gbmlldCB2aWEgQ0xJIHVpdGdldm9lcmQgd29yZGVuIjtzOjYwOiJUbyBydW4gQ2FjaGUgV2FybWVyLCBnbyB0byA8YSBocmVmPSIlcyI+QXV0b21hdGVkIFRhc2tzPC9hPi4iO3M6Nzk6Ik9tIENhY2hlIFdhcm1lciB1aXQgdGUgdm9lcmVuLCBnYSBuYWFyIDxhIGhyZWY9IiVzIj5HZWF1dG9tYXRpc2VlcmRlIHRha2VuPC9hPi4iO3M6MjU6IkRpc2FibGUgSFRNTCBtaW5pZmljYXRpb24iO3M6Mjg6IlNjaGFrZWwgSFRNTCBjb21wcmVzc2llIHVpdCAiO3M6MjQ6IkVuYWJsZSBIVE1MIG1pbmlmaWNhdGlvbiI7czoyNjoiU2NoYWtlbCBIVE1MIGNvbXByZXNzaWUgaW4iO3M6Mjc6IkVuYWJsZSBmb3IgUmVnaXN0ZXJlZCBVc2VycyI7czo0MjoiSW5zY2hha2VsZW4gdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjExOiJNaW5pZnkgSFRNTCI7czoxNToiQ29tcHJpbWVlciBIVE1MIjtzOjQ2OiJNaW5pZnkgSFRNTCBvdXRwdXQgdG8gZGVjcmVhc2UgcGFnZSBsb2FkIHRpbWVzIjtzOjQzOiJDb21wcmltZWVyIEhUTUwgb20gbGFhZHRpamRlbiB0ZSB2ZXJrbGVpbmVuIjtzOjMyOiJQYWdlcyB3aXRoIG1pbmlmaWNhdGlvbiBkaXNhYmxlZCI7czozOToiUGFnaW5h4oCZcyBtZXQgY29tcHJlc3NpZSB1aXRnZXNjaGFrZWxkIjt9aToyO2E6MTp7czoxMzoiACoAcGx1cmFsUnVsZSI7TzozMjoiWmVuZFxJMThuXFRyYW5zbGF0b3JcUGx1cmFsXFJ1bGUiOjI6e3M6NjoiACoAYXN0IjthOjI6e3M6MjoiaWQiO3M6MjoiIT0iO3M6OToiYXJndW1lbnRzIjthOjI6e2k6MDthOjI6e3M6MjoiaWQiO3M6MToibiI7czo5OiJhcmd1bWVudHMiO2E6MDp7fX1pOjE7YToyOntzOjI6ImlkIjtzOjY6Im51bWJlciI7czo5OiJhcmd1bWVudHMiO2E6MTp7aTowO2k6MTt9fX19czoxMzoiACoAbnVtUGx1cmFscyI7aToyO319aTozO047fQ=='));
 
/* Child Type: integer */
$data['createdOn'] = 1792506604;
 
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Driver/FileSystem/NativeEncoder.php
 * (c) Robert Hafner <tedivm@tedivm.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
namespace Stash\Driver\FileSystem;
 
use Stash\Utilities;
 
class NativeEncoder implements EncoderInterface
{
    public function deserialize($path)
    {
        if (!file_exists($path)) {
            return false;
        }
 
        $expiration = null;
        include($path);
 
        if (!isset($loaded)) {
            return false;
        }
 
        if (!isset($data)) {
            $data = null;
        }
 
        return array('data' => $data, 'expiration' => $expiration);
    }
 
    public function serialize($key, $data, $expiration = null)
    {
        $storeString = '<?php ' . PHP_EOL
            . '/* Cachekey: ' . str_replace('*/', '', $key) . ' */' . PHP_EOL
            . '/* Type: ' . gettype($data) . ' */' . PHP_EOL
            . '/* Expiration: ' . (isset($expiration) ? date(DATE_W3C, $expiration) : 'none') . ' */' . PHP_EOL
            . PHP_EOL
            . PHP_EOL
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Driver/FileSystem.php
        $keyString = '';
        foreach ($key as $group) {
            $keyString .= $group . '/';
        }
 
        return $keyString;
    }
 
    /**
     * This function retrieves the data from the file. If the file does not exist, or is currently being written to, it
     * will return false. If the file is already being written to, this instance of the driver gets disabled so as not
     * to have a bunch of writes get queued up when a cache item fails to hit.
     *
     * {@inheritdoc}
     *
     * @return bool
     */
    public function getData($key)
    {
        return $this->getEncoder()->deserialize($this->makePath($key));
    }
 
    /**
     * This function takes the data and stores it to the path specified. If the directory leading up to the path does
     * not exist, it creates it.
     *
     * {@inheritdoc}
     */
    public function storeData($key, $data, $expiration)
    {
        $path = $this->makePath($key);
 
        // MAX_PATH is 260 - http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
        if (strlen($path) > 259 &&  stripos(PHP_OS, 'WIN') === 0) {
            throw new Stash\Exception\WindowsPathMaxLengthException();
        }
 
        if (!file_exists($path)) {
            if (!is_dir(dirname($path))) {
                if (!@mkdir(dirname($path), $this->dirPermissions, true)) {
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php
        $sp = isset($spReturn['data']) ? $spReturn['data'] : false;
 
 
        if (isset($spReturn['expiration'])) {
            if ($spReturn['expiration'] < time()) {
                $sp = false;
            }
        }
 
        return $sp;
    }
 
    /**
     * Returns the record for the current key. If there is no record than an empty array is returned.
     *
     * @return array
     */
    protected function getRecord()
    {
        $record = $this->driver->getData($this->key);
 
        if (!is_array($record)) {
            return array();
        }
 
        return $record;
    }
 
    /**
     * Decides whether the current data is fresh according to the supplied validation technique. As some techniques
     * actively change the record this function takes that in as a reference.
     *
     * This function has the ability to change the isHit property as well as the record passed.
     *
     * @internal
     * @param array $validation
     * @param array &$record
     */
    protected function validateRecord($validation, &$record)
    {
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php
 
        if (!is_array($invalidation)) {
            $vArray = array();
 
            if (isset($invalidation)) {
                $vArray[] = $invalidation;
            }
 
            if (isset($arg)) {
                $vArray[] = $arg;
            }
 
            if (isset($arg2)) {
                $vArray[] = $arg2;
            }
 
            $invalidation = $vArray;
        }
 
        $record = $this->getRecord();
 
        $this->validateRecord($invalidation, $record);
 
        return isset($record['data']['return']) ? $record['data']['return'] : null;
    }
 
 
    /**
    * {@inheritdoc}
    */
    public function isHit()
    {
        return !$this->isMiss();
    }
 
    /**
     * {@inheritdoc}
     */
    public function isMiss()
    {
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php
        unset($this->expiration);
 
        if ($this->isDisabled()) {
            return false;
        }
 
        return $this->driver->clear(isset($this->key) ? $this->key : null);
    }
 
    /**
     * {@inheritdoc}
     */
    public function get()
    {
        try {
            if (!isset($this->data)) {
                $this->data = $this->executeGet(
                    $this->invalidationMethod,
                    $this->invalidationArg1,
                    $this->invalidationArg2);
            }
 
            if (false === $this->isHit) {
                return null;
            }
 
            return $this->data;
        } catch (Exception $e) {
            $this->logException('Retrieving from cache caused exception.', $e);
            $this->disable();
 
            return null;
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function setInvalidationMethod($invalidation = Invalidation::PRECOMPUTE, $arg = null, $arg2 = null)
    {
/home/.sites/111/site30/web/concrete/vendor/tedivm/stash/src/Stash/Item.php
 
        return isset($record['data']['return']) ? $record['data']['return'] : null;
    }
 
 
    /**
    * {@inheritdoc}
    */
    public function isHit()
    {
        return !$this->isMiss();
    }
 
    /**
     * {@inheritdoc}
     */
    public function isMiss()
    {
        if (!isset($this->isHit)) {
            $this->get();
        }
 
        if ($this->isDisabled()) {
            return true;
        }
 
        return !$this->isHit;
    }
 
    /**
     * {@inheritdoc}
     */
    public function lock($ttl = null)
    {
        if ($this->isDisabled()) {
            return true;
        }
 
        if (!isset($this->key)) {
            return false;
/home/.sites/111/site30/web/concrete/src/Cache/Adapter/ZendCacheDriver.php
        $this->cacheLifetime = $cacheLifetime;
    }
 
    /**
     * Internal method to get an item.
     *
     * @param  string $normalizedKey
     * @param  bool $success
     * @param  mixed $casToken
     *
     * @return mixed Data on success, null on failure
     *
     * @throws Exception\ExceptionInterface
     */
    protected function internalGetItem(&$normalizedKey, &$success = null, &$casToken = null)
    {
        /** @var Cache $cache  */
        $cache = Core::make($this->cacheName);
        $item = $cache->getItem('zend/'.$normalizedKey);
        if ($item->isMiss()) {
            $success = false;
 
            return null;
        } else {
            $success = true;
 
            return $item->get();
        }
    }
 
    /**
     * Internal method to store an item.
     *
     * @param  string $normalizedKey
     * @param  mixed $value
     *
     * @return bool
     *
     * @throws Exception\ExceptionInterface
     */
/home/.sites/111/site30/web/concrete/vendor/zendframework/zend-cache/src/Storage/Adapter/AbstractAdapter.php
        ];
        if ($argn > 1) {
            $args['success'] = & $success;
        }
        if ($argn > 2) {
            $args['casToken'] = & $casToken;
        }
        $args = new ArrayObject($args);
 
        try {
            $eventRs = $this->triggerPre(__FUNCTION__, $args);
 
            if ($eventRs->stopped()) {
                $result = $eventRs->last();
            } elseif ($args->offsetExists('success') && $args->offsetExists('casToken')) {
                $result = $this->internalGetItem($args['key'], $args['success'], $args['casToken']);
            } elseif ($args->offsetExists('success')) {
                $result = $this->internalGetItem($args['key'], $args['success']);
            } else {
                $result = $this->internalGetItem($args['key']);
            }
 
            return $this->triggerPost(__FUNCTION__, $args, $result);
        } catch (\Exception $e) {
            $result = null;
            $success = false;
            return $this->triggerException(__FUNCTION__, $args, $result, $e);
        }
    }
 
    /**
     * Internal method to get an item.
     *
     * @param  string  $normalizedKey
     * @param  bool $success
     * @param  mixed   $casToken
     * @return mixed Data on success, null on failure
     * @throws Exception\ExceptionInterface
     */
    abstract protected function internalGetItem(& $normalizedKey, & $success = null, & $casToken = null);
/home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php
 
    /**
     * Load messages for a given language and domain.
     *
     * @triggers loadMessages.no-messages-loaded
     * @param    string $textDomain
     * @param    string $locale
     * @throws   Exception\RuntimeException
     * @return   void
     */
    protected function loadMessages($textDomain, $locale)
    {
        if (!isset($this->messages[$textDomain])) {
            $this->messages[$textDomain] = [];
        }
 
        if (null !== ($cache = $this->getCache())) {
            $cacheId = 'Zend_I18n_Translator_Messages_' . md5($textDomain . $locale);
 
            if (null !== ($result = $cache->getItem($cacheId))) {
                $this->messages[$textDomain][$locale] = $result;
 
                return;
            }
        }
 
        $messagesLoaded  = false;
        $messagesLoaded |= $this->loadMessagesFromRemote($textDomain, $locale);
        $messagesLoaded |= $this->loadMessagesFromPatterns($textDomain, $locale);
        $messagesLoaded |= $this->loadMessagesFromFiles($textDomain, $locale);
 
        if (!$messagesLoaded) {
            $discoveredTextDomain = null;
            if ($this->isEventManagerEnabled()) {
                $until = function ($r) {
                    return ($r instanceof TextDomain);
                };
 
                $event = new Event(self::EVENT_NO_MESSAGES_LOADED, $this, [
                    'locale'      => $locale,
/home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php
    /**
     * Get a translated message.
     *
     * @triggers getTranslatedMessage.missing-translation
     * @param    string $message
     * @param    string $locale
     * @param    string $textDomain
     * @return   string|null
     */
    protected function getTranslatedMessage(
        $message,
        $locale,
        $textDomain = 'default'
    ) {
        if ($message === '' || $message === null) {
            return '';
        }
 
        if (!isset($this->messages[$textDomain][$locale])) {
            $this->loadMessages($textDomain, $locale);
        }
 
        if (isset($this->messages[$textDomain][$locale][$message])) {
            return $this->messages[$textDomain][$locale][$message];
        }
 
        if ($this->isEventManagerEnabled()) {
            $until = function ($r) {
                return is_string($r);
            };
 
            $event = new Event(self::EVENT_MISSING_TRANSLATION, $this, [
                'message'     => $message,
                'locale'      => $locale,
                'text_domain' => $textDomain,
            ]);
 
            $results = $this->getEventManager()->triggerEventUntil($until, $event);
 
            $last = $results->last();
/home/.sites/111/site30/web/concrete/vendor/zendframework/zend-i18n/src/Translator/Translator.php
    {
        if (!$this->pluginManager instanceof LoaderPluginManager) {
            $this->setPluginManager(new LoaderPluginManager(new ServiceManager));
        }
 
        return $this->pluginManager;
    }
 
    /**
     * Translate a message.
     *
     * @param  string $message
     * @param  string $textDomain
     * @param  string $locale
     * @return string
     */
    public function translate($message, $textDomain = 'default', $locale = null)
    {
        $locale      = ($locale ?: $this->getLocale());
        $translation = $this->getTranslatedMessage($message, $locale, $textDomain);
 
        if ($translation !== null && $translation !== '') {
            return $translation;
        }
 
        if (null !== ($fallbackLocale = $this->getFallbackLocale())
            && $locale !== $fallbackLocale
        ) {
            return $this->translate($message, $textDomain, $fallbackLocale);
        }
 
        return $message;
    }
 
    /**
     * Translate a plural message.
     *
     * @param  string                         $singular
     * @param  string                         $plural
     * @param  int                            $number
/home/.sites/111/site30/web/concrete/src/Localization/Translator/Adapter/Zend/TranslatorAdapter.php
    public function translatePlural($singular, $plural, $number)
    {
        if (!(is_string($singular) && is_string($plural))) {
            return '';
        }
        $text = $this->translator->translatePlural($singular, $plural, $number);
 
        return $this->formatString($text, array_slice(func_get_args(), 2));
    }
 
    /**
     * {@inheritdoc}
     */
    public function translateContext($context, $text)
    {
        if (!(is_string($context) && is_string($text))) {
            return '';
        }
        $msgid = $context . "\x04" . $text;
        $msgtxt = $this->translator->translate($msgid);
        if ($msgtxt != $msgid) {
            $text = $msgtxt;
        }
 
        return $this->formatString($text, array_slice(func_get_args(), 2));
    }
 
    /**
     * Formats the string in the with the PHP sprintf format with the given
     * arguments.
     *
     * @param string $string
     * @param array $args
     */
    protected function formatString($string, array $args)
    {
        if (count($args) > 0) {
            return vsprintf($string, $args);
        }
 
/home/.sites/111/site30/web/concrete/bootstrap/helpers.php
 *
 * @param string $context A context, useful for translators to better understand the meaning of the text to be translated.
 * @param string $text    The text to be translated.
 * @param        mixed    ... Unlimited optional number of arguments: if specified they'll be used for printf.
 *
 * @return string Returns the translated text.
 *
 * @example tc('Recipient', 'To %s') will return translation for 'To %s' (example for Italian 'A %s').
 * @example tc('End date', 'To %s') will return translation for 'To %s' (example for Italian 'Fino al %s').
 * @example tc('Recipient', 'To %s', 'John') will return translation for 'To %s' (example: 'A %s'), using 'John' for printf (so the final result will be 'A John' for Italian).
 * @example tc('End date', 'To %s', '01/01/2000') will return translation for 'To %s' (example: 'Fino al %s'), using '01/01/2000' for printf (so the final result will be 'Fino al 01/01/2000' for Italian).
 */
function tc($context, $text)
{
    $loc = Localization::getInstance();
    $adapter = $loc->getActiveTranslatorAdapter();
    $args = func_get_args();
    switch (count($args)) {
        case 2:
            return $adapter->translateContext($context, $text);
        case 3:
            return $adapter->translateContext($context, $text, $args[2]);
        case 4:
            return $adapter->translateContext($context, $text, $args[2], $args[3]);
        case 5:
            return $adapter->translateContext($context, $text, $args[2], $args[3], $args[4]);
        default:
            return call_user_func_array(array($adapter, 'translateContext'), $args);
    }
}
 
/**
 * Security helper.
 *
 * @param string $input
 *
 * @return string mixed
 */
function h($input)
{
/home/.sites/111/site30/web/concrete/elements/header_required.php
     *
     * We can set a title 3 ways:
     * 1. It comes through programmatically as $pageTitle. If this is the case then we pass it through, no questions asked
     * 2. It comes from meta title
     * 3. It comes from getCollectionName()
     * In the case of 3, we also pass it through page title format.
     */
    if ($pageTitle === null) {
        // we aren't getting it dynamically.
        $pageTitle = $c->getAttribute('meta_title');
        if (!is_string($pageTitle) || $pageTitle === '') {
            $seo = $app->make('helper/seo');
            if (!$seo->hasCustomTitle()) {
                $pageTitle = $c->getCollectionName();
                if ($c->isSystemPage()) {
                    $pageTitle = t($pageTitle);
                }
                $seo->addTitleSegmentBefore($pageTitle);
            }
            $seo->setSiteName(tc('SiteName', $site->getSiteName()));
            $seo->setTitleFormat($appConfig->get('concrete.seo.title_format'));
            $seo->setTitleSegmentSeparator($appConfig->get('concrete.seo.title_segment_separator'));
            $pageTitle = $seo->getTitle();
        }
    }
 
    if (!$pageDescription) {
        // we aren't getting it dynamically.
        $pageDescription = $c->getAttribute('meta_description');
        if (!$pageDescription) {
            $pageDescription = $c->getCollectionDescription();
        }
        $pageDescription = trim($pageDescription);
    }
    if (!$pageMetaKeywords) {
        $pageMetaKeywords = trim($c->getAttribute('meta_keywords'));
    }
    if ($c->hasPageThemeCustomizations()) {
        $styleObject = $c->getCustomStyleObject();
    } elseif (($pt = $c->getCollectionThemeObject()) && is_object($pt)) {
/home/.sites/111/site30/web/concrete/src/View/View.php
 
        $_fs = $_app->make(Filesystem::class);
        $_locator = new FileLocator($_fs, $_app);
        if (isset($_theme) && is_object($_theme)) {
            $_locator->addLocation(new FileLocator\ThemeElementLocation($_theme));
        }
        if ($_pkgHandle) {
            $_locator->addPackageLocation($_pkgHandle);
        }
 
        $_record = $_locator->getRecord(DIRNAME_ELEMENTS . '/' . $_file . '.php');
        $_file = $_record->getFile();
 
        unset($_record);
        unset($_app);
        unset($_fs);
        unset($_locator);
        unset($_theme);
 
        include $_file;
    }
}
 
/home/.sites/111/site30/web/concrete/src/Legacy/Loader.php
    }
 
    public static function helper($service, $pkgHandle = false)
    {
        $app = Facade::getFacadeApplication();
        if ($pkgHandle !== false) {
            return $app->make('/packages/' . $pkgHandle . '/helper/' . $service);
        } else {
            return $app->make('helper/' . $service);
        }
    }
 
    public static function packageElement($file, $pkgHandle, $args = null)
    {
        self::element($file, $args, $pkgHandle);
    }
 
    public static function element($_file, $args = null, $_pkgHandle = null)
    {
        return View::element($_file, $args, $_pkgHandle);
    }
 
    public static function model($model, $pkgHandle = false)
    {
        return false;
    }
 
    public static function library($library, $pkgHandle = false)
    {
        return false;
    }
 
    public static function controller($item)
    {
        if ($item instanceof \Page) {
            return $item->getController();
        }
 
        $controller = '\\Concrete\\Controller\\' . camelcase($item);
        $app = Facade::getFacadeApplication();
/home/.sites/111/site30/web/application/themes/teplate/elements/header.php
<?php defined('C5_EXECUTE') or die("Access Denied."); ?>
<!DOCTYPE html>
<html dir="ltr" lang="nl">
<head>
 
<?php Loader::element('header_required'); ?>
 
    <!-- Stylesheets
    ============================================= -->
    <link href="https://fonts.googleapis.com/css?family=Lato:300,400,400i,700|Raleway:300,400,500,600,700|Crete+Round:400i" rel="stylesheet" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/style.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/swiper.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/dark.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/font-icons.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/animate.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/magnific-popup.css" type="text/css" />
 
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/responsive.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/colors.css" type="text/css" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
 
    <?php $up = new Permissions(Page::getCurrentPage()) ?>
    <?php if($up->canAdminPage()): ?>
    <style type="text/css">
        #header { top: 65px; }
    </style>
    <?php endif; ?>
</head>
<body class="stretched dark">
    <!-- Document Wrapper
    ============================================= -->
    <div id="wrapper" class="clearfix">
        <!-- Header
        ============================================= -->
        <header id="header" class="transparent-header full-header">
            <div id="header-wrap">
                <div class="container clearfix">
                    <div id="primary-menu-trigger"><i class="icon-reorder"></i></div>
                    <!-- Logo
/home/.sites/111/site30/web/concrete/src/View/View.php
        $path = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->themePkgHandle);
        if (!file_exists($path)) {
            $path2 = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->viewPkgHandle);
            if (file_exists($path2)) {
                $path = $path2;
            }
            unset($path2);
        }
        $__data__['path'] = $path;
        unset($file);
        unset($args);
        unset($env);
        unset($path);
        if (!empty($__data__['scopedItems'])) {
            if (array_key_exists('__data__', $__data__['scopedItems'])) {
                throw new \Exception(t(/*i18n: %1$s is a variable name, %2$s is a function name*/'Illegal variable name \'%1$s\' in %2$s args.', '__data__', __CLASS__.'::'.__METHOD__));
            }
            extract($__data__['scopedItems']);
        }
        include $__data__['path'];
    }
 
    /**
     * A shortcut to posting back to the current page with a task and optional parameters. Only works in the context of.
     *
     * @param string $action
     * @param string $task
     *
     * @return string $url
     */
    public function action($action)
    {
        $a = func_get_args();
        $controllerPath = $this->controller->getControllerActionPath();
        array_unshift($a, $controllerPath);
        $ret = call_user_func_array([$this, 'url'], $a);
 
        return $ret;
    }
 
/home/.sites/111/site30/web/application/themes/teplate/full.php
<?php 
defined('C5_EXECUTE') or die("Access Denied.");
$this->inc('elements/header.php'); ?>


        <section id="page-title">

            <div class="container clearfix">
                <h1><?php echo $c->getCollectionName(); ?></h1>
            </div>

        </section><!-- #page-title end -->
        <!-- Content
        ============================================= -->
        <section id="content">

            <div class="content-wrap">

                <div class="container clearfix">
                    <div class="row clearfix">

                        <div class="col_full">
                        
                            <?php

                            $b = new Area('Main');
                            $b->display($c);

                            ?>
                        

                        </div>

                    </div>
                </div>

                <div class="clear"></div>

                <a href="javascript:location='mailto:\u0069\u006e\u0066\u006f\u0040\u0074\u0065\u0070\u006c\u0061\u0074\u0065\u002e\u006e\u006c';void 0" class="button button-full button-dark center tright" style="margin-bottom: 0px !important;">
                    <div class="container clearfix">
/home/.sites/111/site30/web/concrete/src/View/View.php
        ob_end_clean();
 
        return $innerContent;
    }
 
    /**
     * Render the file set to $this->template
     * @param $scopeItems
     * @return string
     */
    protected function renderTemplate($scopeItems, $innerContent)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
 
        // Fire a `before` event
        $this->onBeforeGetContents();
        include $this->template;
 
        // Fire an `after` event
        $this->onAfterGetContents();
        $contents = ob_get_contents();
        ob_end_clean();
 
        return $contents;
    }
 
    public function finishRender($contents)
    {
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_render_complete', $event);
 
        return $contents;
    }
 
    /**
     * Function responsible for outputting header items.
/home/.sites/111/site30/web/concrete/src/View/View.php
    protected function onBeforeGetContents()
    {
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_before_render', $event);
        $this->themeObject->registerAssets();
    }
 
    public function renderViewContents($scopeItems)
    {
        $contents = '';
 
        // Render the main view file
        if ($this->innerContentFile) {
            $contents = $this->renderInnerContents($scopeItems);
        }
 
        // Render the template around it
        if (file_exists($this->template)) {
            $contents = $this->renderTemplate($scopeItems, $contents);
        }
 
        return $contents;
    }
 
    /**
     * Render the file set to $this->innerContentFile
     * @param $scopeItems
     * @return string
     */
    protected function renderInnerContents($scopeItems)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
        include $this->innerContentFile;
        $innerContent = ob_get_contents();
        ob_end_clean();
 
/home/.sites/111/site30/web/concrete/src/View/AbstractView.php
            $helpers = $this->controller->getHelperObjects();
            $return = array_merge($this->scopeItems, $sets, $helpers);
        } else {
            $return = $this->scopeItems;
        }
        $return['view'] = $this;
        $return['controller'] = $this->controller;
        return $return;
    }
 
    public function render($state = false)
    {
        if ($this instanceof View) {
            $this->setRequestInstance($this);
        }
        $this->start($state);
        $this->setupRender();
        $this->startRender();
        $scopeItems = $this->getScopeItems();
        $contents = $this->renderViewContents($scopeItems);
        $contents = $this->postProcessViewContents($contents);
        $response = $this->finishRender($contents);
        if ($this instanceof View) {
            $this->revertRequestInstance();
        }
 
        return $response;
    }
 
    public function renderViewContents($scopeItems)
    {
        if (file_exists($this->template)) {
            extract($scopeItems);
            ob_start();
            $this->onBeforeGetContents();
            include $this->template;
            $this->onAfterGetContents();
            $contents = ob_get_contents();
            ob_end_clean();
 
/home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php
        $cnt = $this->app->make(PageForbidden::class);
        $this->controller($cnt, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function redirect($to, $code = Response::HTTP_MOVED_PERMANENTLY, $headers = [])
    {
        return RedirectResponse::create($to, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function view(View $view, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $contents = $view->render();
 
            return $this->create($contents, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $request = $this->request;
 
            if ($response = $controller->on_start()) {
                return $response;
            }
 
/home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php
                if ($response = $controller->runAction('view')) {
                    return $response;
                }
            }
 
            $view = $controller->getViewObject();
 
            // Mobile theme
            if ($this->config->get('concrete.misc.mobile_theme_id') > 0) {
                $md = $this->app->make(MobileDetect::class);
                if ($md->isMobile()) {
                    $mobileTheme = Theme::getByID($this->app->config->get('concrete.misc.mobile_theme_id'));
                    if ($mobileTheme instanceof Theme) {
                        $view->setViewTheme($mobileTheme);
                        $controller->setTheme($mobileTheme);
                    }
                }
            }
 
            return $this->view($view, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function collection(Collection $collection, $code = Response::HTTP_OK, $headers = [])
    {
        if (!$this->app) {
            throw new \RuntimeException('Cannot resolve collections without a reference to the application');
        }
 
        $request = $this->request;
 
        if ($collection->isError() && $collection->getError() == COLLECTION_NOT_FOUND) {
            if ($response = $this->collectionNotFound($collection, $request, $headers)) {
                return $response;
            }
/home/.sites/111/site30/web/concrete/src/Http/ResponseFactory.php
        $pe = new Event($collection);
        $pe->setUser($u);
        $pe->setRequest($request);
        $this->app['director']->dispatch('on_page_view', $pe);
 
        // Core menu items
        $item = new RelationListItem();
        $menu = $this->app->make('helper/concrete/ui/menu');
        $menu->addMenuItem($item);
 
        // Multisite item
        $item = new SiteListItem();
        $menu->addMenuItem($item);
 
        $controller = $collection->getPageController();
 
        // we update the current page with the one bound to this controller.
        $collection->setController($controller);
 
        return $this->controller($controller);
    }
 
    private function collectionNotFound(Collection $collection, Request $request, array $headers)
    {
        // if we don't have a path and we're doing cID, then this automatically fires a 404.
        if (!$request->getPath() && $request->get('cID')) {
            return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
        }
 
        // let's test to see if this is, in fact, the home page,
        // and we're routing arguments onto it (which is screwing up the path.)
        $home = Page::getByID(Page::getHomePageID());
        $request->setCurrentPage($home);
        $homeController = $home->getPageController();
        $homeController->setupRequestActionAndParameters($request);
 
        $response = $homeController->validateRequest();
        if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
            return $response;
        } elseif ($response === true) {
/home/.sites/111/site30/web/concrete/src/Http/DefaultDispatcher.php
                new DispatcherDelegate($dispatcher)
            );
            $stack->setApplication($this->app);
            foreach($route->getMiddlewares() as $middleware) {
                if (is_string($middleware->getMiddleware())) {
                    $inflatedMiddleware =  $this->app->make($middleware->getMiddleware());
                } else {
                    $inflatedMiddleware = $middleware->getMiddleware();
                }
                $stack = $stack->withMiddleware(
                    $inflatedMiddleware,
                    $middleware->getPriority()
                );
            }
            return $stack->process($request);
        } catch (ResourceNotFoundException $e) {
        } catch (MethodNotAllowedException $e) {
        }
        $c = \Page::getFromRequest($request);
        $response = $this->app->make(ResponseFactoryInterface::class)->collection($c);
 
        return $response;
    }
 
    /**
     * @param \Symfony\Component\Routing\RouteCollection $routes
     * @param string $path
     *
     * @return \Symfony\Component\Routing\RouteCollection
     */
    private function filterRouteCollectionForPath(RouteCollection $routes, $path)
    {
        $result = new RouteCollection();
        foreach ($routes->getResources() as $resource) {
            $result->addResource($resource);
        }
        foreach ($routes->all() as $name => $route) {
            $routePath = $route->getPath();
            $p = strpos($routePath, '{');
            $skip = false;
/home/.sites/111/site30/web/concrete/src/Http/DefaultDispatcher.php
    /**
     * @param \Symfony\Component\HttpFoundation\Request $request
     *
     * @return SymfonyResponse
     */
    public function dispatch(SymfonyRequest $request)
    {
        $path = rawurldecode($request->getPathInfo());
 
        if (substr($path, 0, 3) == '../' || substr($path, -3) == '/..' || strpos($path, '/../') ||
            substr($path, 0, 3) == '..\\' || substr($path, -3) == '\\..' || strpos($path, '\\..\\')) {
            throw new UserMessageException(t('Invalid path traversal. Please make this request with a valid HTTP client.'));
        }
 
        $response = null;
        if ($this->app->isInstalled()) {
            $response = $this->getEarlyDispatchResponse();
        }
        if ($response === null) {
            $response = $this->handleDispatch($request);
        }
 
        return $response;
    }
 
    private function getEarlyDispatchResponse()
    {
        $validator = $this->app->make(SessionValidator::class);
        if ($validator->hasActiveSession()) {
            $session = $this->app['session'];
            if (!$session->has('uID')) {
                User::verifyAuthTypeCookie();
            }
 
            // User may have been logged in, so lets check status again.
            if ($session->has('uID') && $session->get('uID') > 0 && $response = $this->validateUser()) {
                return $response;
            }
        }
    }
/home/.sites/111/site30/web/concrete/src/Http/Middleware/DispatcherDelegate.php
    private $dispatcher;
 
    /**
     * DispatcherFrame constructor.
     * @param \Concrete\Core\Http\DispatcherInterface $dispatcher
     */
    public function __construct(DispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        return $this->dispatcher->dispatch($request);
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/ThumbnailMiddleware.php
     * @var \Concrete\Core\Config\Repository\Repository
     */
    private $config;
 
    public function __construct(Repository $config)
    {
        $this->config = $config;
    }
 
    /**
     * Process the request and return a response.
     *
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param DelegateInterface $frame
     *
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response && $this->app->isInstalled() && $this->config->get('concrete.misc.basic_thumbnailer_generation_strategy') == 'now') {
            $responseStatusCode = (int) $response->getStatusCode();
            if ($responseStatusCode === 200 || $responseStatusCode === 404) {
                $database = $this->tryGetConnection();
                if ($database !== null) {
                    if ($responseStatusCode === 404) {
                        $searchThumbnailPath = $request->getRequestUri();
                    } else {
                        $searchThumbnailPath = null;
                    }
                    $thumbnail = $this->getThumbnailToGenerate($database, $searchThumbnailPath);
                    if ($thumbnail !== null) {
                        $this->markThumbnailAsBuilt($database, $thumbnail);
                        if ($this->generateThumbnail($thumbnail)) {
                            if ($this->couldBeTheRequestedThumbnail($thumbnail, $searchThumbnailPath)) {
                                $response = $this->buildRedirectToThumbnailResponse($request);
                            }
                        }
                    }
/home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/FrameOptionsMiddleware.php
    private $config;
 
    /**
     * @var \Concrete\Core\Utility\Service\Validation\Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('X-Frame-Options') === false) {
            $x_frame_options = $this->config->get('concrete.security.misc.x_frame_options');
            if ($this->stringValidator->notempty($x_frame_options)) {
                $response->headers->set('X-Frame-Options', $x_frame_options);
            }
        }
 
        return $response;
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/CookieMiddleware.php
     * @var \Concrete\Core\Cookie\ResponseCookieJar
     */
    private $responseCookieJar;
 
    /**
     * @param \Concrete\Core\Cookie\ResponseCookieJar $responseCookieJar
     */
    public function __construct(ResponseCookieJar $responseCookieJar)
    {
        $this->responseCookieJar = $responseCookieJar;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Concrete\Core\Http\Middleware\MiddlewareInterface::process()
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        $cleared = $this->responseCookieJar->getClearedCookies();
        foreach ($cleared as $cookie) {
            $response->headers->clearCookie($cookie, DIR_REL . '/');
        }
 
        $cookies = $this->responseCookieJar->getCookies();
        foreach ($cookies as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/ApplicationMiddleware.php
 * Middleware for applying state changes to the application
 * @package Concrete\Core\Http\Middleware
 */
class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface
{
 
    use ApplicationAwareTrait;
 
    /**
     * Apply the request instance to the request singleton
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        \Concrete\Core\Http\Request::setInstance($request);
        $this->app->instance('Concrete\Core\Http\Request', $request);
 
        return $frame->next($request);
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Http/Middleware/MiddlewareStack.php
    public function withoutMiddleware(MiddlewareInterface $middleware)
    {
        $stack = clone $this;
 
        $stack->middleware = array_map(function($priorityGroup) use ($middleware) {
            return array_map(function($stackMiddleware) use ($middleware)  {
                return $middleware === $stackMiddleware ? null : $stackMiddleware;
            }, $priorityGroup);
        }, $stack->middleware);
 
        return $stack;
    }
 
    /**
     * @inheritdoc
     */
    public function process(Request $request)
    {
        $stack = $this->getStack();
        return $stack->next($request);
    }
 
    /**
     * Reduce middleware into a stack of functions that each call the next
     * @return callable
     */
    private function getStack()
    {
        $processed = [];
 
        foreach ($this->middlewareGenerator() as $middleware) {
            $processed[] = $middleware;
        }
 
        $middleware = array_reverse($processed);
        $stack = array_reduce($middleware, $this->getZipper(), $this->dispatcher);
 
        return $stack;
    }
 
/home/.sites/111/site30/web/concrete/src/Http/DefaultServer.php
     */
    public function removeMiddleware(MiddlewareInterface $middleware)
    {
        $this->stack = $this->stack->withoutMiddleware($middleware);
        return $this;
    }
 
    /**
     * Take a request and pass it through middleware, then return the response
     * @param SymfonyRequest $request
     * @return SymfonyResponse
     */
    public function handleRequest(SymfonyRequest $request)
    {
        $stack = $this->stack;
        if ($stack instanceof MiddlewareStack) {
            $stack = $stack->withDispatcher($this->app->make(DispatcherDelegate::class, [$this->dispatcher]));
        }
 
        return $stack->process($request);
    }
 
}
 
/home/.sites/111/site30/web/concrete/src/Foundation/Runtime/Run/DefaultRunner.php
 
                // Register legacy config values
                'registerLegacyConfigValues',
 
                // Handle loading permission keys
                'handlePermissionKeys',
 
                // Handle eventing
                'handleEventing',
            ]);
        } else {
            $this->initializeSystemTimezone();
            $this->preloadClassAliases();
        }
 
        // Create the request to use
        $request = $this->createRequest();
 
        if (!$response) {
            $response = $this->server->handleRequest($request);
        }
 
        // Prepare and return the response
        return $response->prepare($request);
    }
 
    /**
     * Define the base url if not defined
     * This will define `BASE_URL` to whatever is resolved from the resolver.
     *
     * @deprecated In a future major version this will be part of HTTP middleware
     *
     * @return Response|void Returns a response if an error occurs
     */
    protected function initializeLegacyURLDefinitions()
    {
        if (!defined('BASE_URL')) {
            $resolver = $this->getUrlResolver();
 
            try {
/home/.sites/111/site30/web/concrete/src/Foundation/Runtime/DefaultRuntime.php
            $this->status = self::STATUS_ACTIVE;
        }
    }
 
    /**
     * Begin the runtime.
     */
    public function run()
    {
        switch ($this->status) {
            case self::STATUS_ENDED:
                // We've already ended, lets just return
                return;
 
            case self::STATUS_INACTIVE:
                throw new \RuntimeException('Runtime has not yet booted.');
        }
 
        $runner = $this->getRunner();
        $response = $runner->run();
 
        if ($response) {
            $this->sendResponse($response);
        }
 
        return $response;
    }
 
    /**
     * The method that handles properly sending a response.
     *
     * @param \Symfony\Component\HttpFoundation\Response $response
     */
    protected function sendResponse(Response $response)
    {
        $response->send();
 
        // Set the status to ended
        $this->status = self::STATUS_ENDED;
    }
/home/.sites/111/site30/web/concrete/dispatcher.php
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin concrete5 startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
 * Run the runtime.
 * ----------------------------------------------------------------------------
 */
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
 
    /*
     * ------------------------------------------------------------------------
     * Shut it down.
     * ------------------------------------------------------------------------
     */
    $app->shutdown();
} else {
    return $app;
}
 
/home/.sites/111/site30/web/index.php
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
 
    if (json_decode($response)->geoplugin_countryCode == 'NL') {
        //dowt;
    } else {
        if (json_decode($response)->geoplugin_countryCode == 'FR') {
            header("Location: ".'https://new.teplate.nl/fr', true, 303);
            die();
        } else {
            header("Location: ".'https://new.teplate.nl/en', true, 303);
            header("Location: ".'https://new.teplate.nl/en', true, 303);
            die();
        }
    }
}
require 'concrete/dispatcher.php';
 

Environment & details:

Key Value
Version 8.5.5
Installed Version 8.5.5
Key Value
concrete.version 8.5.5
concrete.version_installed 8.5.5
concrete.version_db 20201116182100
concrete.installed true
concrete.locale en_US
concrete.charset UTF-8
concrete.charset_bom 
concrete.maintenance_mode false
concrete.debug.display_errors true
concrete.debug.detail debug
concrete.debug.error_reporting null
concrete.proxy.host null
concrete.proxy.port null
concrete.proxy.user null
concrete.proxy.password null
concrete.upload.extensions *.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv
concrete.upload.extensions_blacklist *.php;*.php2;*.php3;*.php4;*.php5;*.php7;*.php8;*.phtml;*.phar;*.htaccess;*.pl;*.phpsh;*.pht;*.shtml;*.cgi
concrete.upload.chunking.enabled true
concrete.upload.chunking.chunkSize null
concrete.export.csv.include_bom false
concrete.export.csv.datetime_format ATOM
concrete.interface.panel.page_relations false
concrete.mail.method PHP_MAIL
concrete.mail.methods.smtp.server
concrete.mail.methods.smtp.port
concrete.mail.methods.smtp.username
concrete.mail.methods.smtp.password
concrete.mail.methods.smtp.encryption
concrete.mail.methods.smtp.messages_per_connection null
concrete.mail.methods.smtp.helo_domain localhost
concrete.cache.enabled true
concrete.cache.lifetime 21600
concrete.cache.overrides true
concrete.cache.blocks true
concrete.cache.assets true
concrete.cache.theme_css true
concrete.cache.pages blocks
concrete.cache.doctrine_dev_mode false
concrete.cache.full_page_lifetime forever
concrete.cache.full_page_lifetime_value null
concrete.cache.full_contents_assets_hash false
concrete.cache.directory /home/.sites/111/site30/web/application/files/cache
concrete.cache.directory_relative null
concrete.cache.page.directory /home/.sites/111/site30/web/application/files/cache/pages
concrete.cache.page.adapter file
concrete.cache.levels.overrides.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.overrides.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.overrides.drivers.core_filesystem.options.path /home/.sites/111/site30/web/application/files/cache/overrides
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions 493
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions 420
concrete.cache.levels.overrides.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.overrides.drivers.redis.options.prefix c5_overrides
concrete.cache.levels.overrides.drivers.redis.options.database 0
concrete.cache.levels.overrides.preferred_driver core_filesystem
concrete.cache.levels.expensive.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.expensive.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.expensive.drivers.core_filesystem.options.path /home/.sites/111/site30/web/application/files/cache/expensive
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions 493
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions 420
concrete.cache.levels.expensive.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.expensive.drivers.redis.options.prefix c5_expensive
concrete.cache.levels.expensive.drivers.redis.options.database 0
concrete.cache.levels.expensive.preferred_driver core_filesystem
concrete.cache.levels.object.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.object.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.object.drivers.redis.options.prefix c5_object
concrete.cache.levels.object.drivers.redis.options.database 0
concrete.cache.levels.object.preferred_driver core_ephemeral
concrete.cache.clear.thumbnails true
concrete.design.enable_custom true
concrete.design.enable_layouts true
concrete.log.emails true
concrete.log.errors true
concrete.log.spam false
concrete.log.api false
concrete.log.enable_dashboard_report true
concrete.log.configuration.mode simple
concrete.log.configuration.simple.core_logging_level NOTICE
concrete.log.configuration.simple.handler database
concrete.log.configuration.simple.file.file
concrete.jobs.enable_scheduling true
concrete.filesystem.temp_directory null
concrete.filesystem.permissions.file 420
concrete.filesystem.permissions.directory 493
concrete.email.enabled true
concrete.email.default.address concrete5-noreply@concrete5
concrete.email.default.name
concrete.email.form_block.address false
concrete.email.forgot_password.address null
concrete.email.forgot_password.name null
concrete.email.validate_registration.address null
concrete.email.validate_registration.name null
concrete.email.workflow_notification.address null
concrete.email.workflow_notification.name null
concrete.form.store_form_submissions auto
concrete.marketplace.enabled true
concrete.marketplace.request_timeout 30
concrete.marketplace.token null
concrete.marketplace.site_token null
concrete.marketplace.intelligent_search true
concrete.marketplace.log_requests false
concrete.external.intelligent_search_help true
concrete.external.news true
concrete.misc.user_timezones false
concrete.misc.package_backup_directory /home/.sites/111/site30/web/application/files/trash
concrete.misc.enable_progressive_page_reindex true
concrete.misc.mobile_theme_id 0
concrete.misc.sitemap_approve_immediately true
concrete.misc.enable_translate_locale_en_us false
concrete.misc.page_search_index_lifetime 259200
concrete.misc.enable_trash_can true
concrete.misc.default_jpeg_image_compression 80
concrete.misc.default_png_image_compression 9
concrete.misc.default_thumbnail_format auto
concrete.misc.inplace_image_operations_limit 4194304
concrete.misc.basic_thumbnailer_generation_strategy now
concrete.misc.help_overlay true
concrete.misc.require_version_comments false
concrete.misc.enable_move_blocktypes_across_sets false
concrete.misc.image_editor_cors_policy.enable_cross_origin false
concrete.misc.image_editor_cors_policy.anonymous_request true
concrete.misc.generator_tag_display_in_header true
concrete.misc.login_redirect HOMEPAGE
concrete.misc.access_entity_updated 1550650282
concrete.misc.latest_version 8.4.4
concrete.misc.login_redirect_cid 0
concrete.misc.do_page_reindex_check false
concrete.theme.compress_preprocessor_output true
concrete.theme.generate_less_sourcemap false
concrete.updates.enable_auto_update_packages false
concrete.updates.enable_permissions_protection true
concrete.updates.check_threshold 172800
concrete.updates.services.get_available_updates http://www.concrete5.org/tools/update_core
concrete.updates.services.inspect_update http://www.concrete5.org/tools/inspect_update
concrete.updates.skip_core false
concrete.paths.trash /!trash
concrete.paths.drafts /!drafts
concrete.icons.page_template.width 120
concrete.icons.page_template.height 90
concrete.icons.theme_thumbnail.width 120
concrete.icons.theme_thumbnail.height 90
concrete.icons.file_manager_listing.handle file_manager_listing
concrete.icons.file_manager_listing.width 60
concrete.icons.file_manager_listing.height 60
concrete.icons.file_manager_detail.handle file_manager_detail
concrete.icons.file_manager_detail.width 400
concrete.icons.file_manager_detail.height 400
concrete.icons.user_avatar.width 80
concrete.icons.user_avatar.height 80
concrete.icons.user_avatar.default /concrete/images/avatar_none.png
concrete.file_manager.images.use_exif_data_to_rotate_images false
concrete.file_manager.images.manipulation_library gd
concrete.file_manager.images.create_high_dpi_thumbnails true
concrete.file_manager.images.preview_image_size small
concrete.file_manager.images.preview_image_popover true
concrete.file_manager.images.svg_sanitization.action sanitize
concrete.file_manager.images.svg_sanitization.allowed_tags
concrete.file_manager.images.svg_sanitization.allowed_attributes
concrete.file_manager.images.image_editor_save_area_background_color
concrete.file_manager.items_per_page_options.0 10
concrete.file_manager.items_per_page_options.1 25
concrete.file_manager.items_per_page_options.2 50
concrete.file_manager.items_per_page_options.3 100
concrete.file_manager.items_per_page_options.4 250
concrete.file_manager.results 10
concrete.search_users.results 10
concrete.sitemap_xml.file sitemap.xml
concrete.sitemap_xml.frequency weekly
concrete.sitemap_xml.priority 0.5
concrete.accessibility.toolbar_titles false
concrete.accessibility.toolbar_large_font false
concrete.accessibility.display_help_system true
concrete.accessibility.toolbar_tooltips true
concrete.i18n.choose_language_login false
concrete.i18n.auto_install_package_languages true
concrete.i18n.community_translation.entry_point http://translate.concrete5.org/api
concrete.i18n.community_translation.api_token
concrete.i18n.community_translation.progress_limit 60
concrete.i18n.community_translation.cache_lifetime 3600
concrete.i18n.community_translation.package_url https://translate.concrete5.org/translate/package
concrete.urls.concrete5 http://www.concrete5.org
concrete.urls.concrete5_secure https://www.concrete5.org
concrete.urls.newsflow http://newsflow.concrete5.org
concrete.urls.background_feed //backgroundimages.concrete5.org/wallpaper
concrete.urls.privacy_policy //www.concrete5.org/legal/privacy-policy
concrete.urls.background_feed_secure https://backgroundimages.concrete5.org/wallpaper
concrete.urls.background_info http://backgroundimages.concrete5.org/get_image_data.php
concrete.urls.videos https://www.youtube.com/user/concrete5cms/videos
concrete.urls.help.developer http://documentation.concrete5.org/developers
concrete.urls.help.user http://documentation.concrete5.org/editors
concrete.urls.help.forum http://www.concrete5.org/community/forums
concrete.urls.help.slack https://www.concrete5.org/slack
concrete.urls.paths.menu_help_service /tools/get_remote_help_list/
concrete.urls.paths.site_page /private/sites
concrete.urls.paths.newsflow_slot_content /tools/slot_content/
concrete.urls.paths.marketplace.connect /marketplace/connect
concrete.urls.paths.marketplace.connect_success /marketplace/connect/-/connected
concrete.urls.paths.marketplace.connect_validate /marketplace/connect/-/validate
concrete.urls.paths.marketplace.connect_new_token /marketplace/connect/-/generate_token
concrete.urls.paths.marketplace.checkout /cart/-/add
concrete.urls.paths.marketplace.purchases /marketplace/connect/-/get_available_licenses
concrete.urls.paths.marketplace.item_information /marketplace/connect/-/get_item_information
concrete.urls.paths.marketplace.item_free_license /marketplace/connect/-/enable_free_license
concrete.urls.paths.marketplace.remote_item_list /marketplace/
concrete.white_label.logo false
concrete.white_label.name false
concrete.white_label.background_image null
concrete.session.name CONCRETE5
concrete.session.handler file
concrete.session.redis.database 1
concrete.session.save_path null
concrete.session.max_lifetime 7200
concrete.session.gc_probability 1
concrete.session.gc_divisor 100
concrete.session.cookie.cookie_path false
concrete.session.cookie.cookie_lifetime 0
concrete.session.cookie.cookie_domain false
concrete.session.cookie.cookie_secure false
concrete.session.cookie.cookie_httponly true
concrete.session.cookie.cookie_raw false
concrete.session.cookie.cookie_samesite null
concrete.session.remember_me.lifetime 1209600
concrete.user.registration.enabled false
concrete.user.registration.type disabled
concrete.user.registration.captcha true
concrete.user.registration.email_registration false
concrete.user.registration.display_username_field true
concrete.user.registration.display_confirm_password_field true
concrete.user.registration.validate_email false
concrete.user.registration.approval false
concrete.user.registration.notification false
concrete.user.group.badge.default_point_value 50
concrete.user.username.maximum 64
concrete.user.username.minimum 3
concrete.user.username.allowed_characters.boundary A-Za-z0-9
concrete.user.username.allowed_characters.middle A-Za-z0-9_\.
concrete.user.username.allowed_characters.requirement_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.username.allowed_characters.error_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.password.maximum 128
concrete.user.password.minimum 5
concrete.user.password.required_special_characters 0
concrete.user.password.required_lower_case 0
concrete.user.password.required_upper_case 0
concrete.user.password.reuse 0
concrete.user.password.hash_portable false
concrete.user.password.hash_cost_log2 12
concrete.user.password.legacy_salt
concrete.user.email.test_mx_record false
concrete.user.email.strict true
concrete.user.private_messages.throttle_max 20
concrete.user.private_messages.throttle_max_timespan 15
concrete.user.deactivation.enable_login_threshold_deactivation false
concrete.user.deactivation.login.threshold 120
concrete.user.deactivation.authentication_failure.enabled false
concrete.user.deactivation.authentication_failure.amount 5
concrete.user.deactivation.authentication_failure.duration 300
concrete.user.deactivation.message This user is inactive. Please contact us regarding this account.
concrete.spam.whitelist_group 0
concrete.spam.notify_email
concrete.calendar.colors.text #ffffff
concrete.calendar.colors.background #3A87AD
concrete.security.session.invalidate_on_user_agent_mismatch true
concrete.security.session.invalidate_on_ip_mismatch true
concrete.security.session.invalidate_inactive_users.enabled false
concrete.security.session.invalidate_inactive_users.time 300
concrete.security.misc.x_frame_options SAMEORIGIN
concrete.permissions.forward_to_login true
concrete.permissions.model simple
concrete.seo.exclude_words a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with
concrete.seo.url_rewriting true
concrete.seo.url_rewriting_all false
concrete.seo.redirect_to_canonical_url 0
concrete.seo.canonical_url null
concrete.seo.canonical_url_alternative null
concrete.seo.trailing_slash false
concrete.seo.title_format %2$s :: %1$s
concrete.seo.title_segment_separator ::
concrete.seo.page_path_separator -
concrete.seo.group_name_separator /
concrete.seo.segment_max_length 128
concrete.seo.paging_string ccm_paging_p
concrete.statistics.track_downloads true
concrete.limits.sitemap_pages 100
concrete.limits.delete_pages 100
concrete.limits.copy_pages 10
concrete.limits.page_search_index_batch 200
concrete.limits.job_queue_batch 10
concrete.limits.style_customizer.size_min -50
concrete.limits.style_customizer.size_max 200
concrete.page.search.always_reindex false
concrete.composer.idle_timeout 1
concrete.api.enabled false
concrete.api.grant_types.client_credentials true
concrete.api.grant_types.authorization_code true
concrete.api.grant_types.password_credentials false
concrete.api.grant_types.refresh_token true
concrete.mutex.semaphore.priority 100
concrete.mutex.semaphore.class Concrete\Core\System\Mutex\SemaphoreMutex
concrete.mutex.file_lock.priority 50
concrete.mutex.file_lock.class Concrete\Core\System\Mutex\FileLockMutex
concrete.style_customizer.updater.ignored_values.preset-fonts-file Concrete\Core\StyleCustomizer\Style\Value\BasicValue
concrete.version_db_installed 20201116182100
concrete.maintenance.version_job_page_num 188
concrete.site Te Plate ICT
empty
empty
empty
Key Value
CONCRETE5 69879f2f0128731add2cf9a4da90cdd1
Key Value
_sf2_attributes Array ( [multilingual_default_locale] => nl_NL [uGroups] => Array ( [1] => 1 ) )
_symfony_flashes Array ( )
_sf2_meta Array ( [u] => 1793635998 [c] => 1793635920 [l] => 0 )
Key Value
USER teplateuser1
HOME /home/.sites/111/site30/.users/130/teplateuser1
SCRIPT_NAME /index.php
REQUEST_URI /diensten
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_URL /diensten
REMOTE_PORT 62252
SCRIPT_FILENAME /home/.sites/111/site30/web/index.php
SERVER_ADMIN admin
CONTEXT_DOCUMENT_ROOT /home/.sites/111/site30/web
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/.sites/111/site30/web
REMOTE_ADDR 185.238.53.15
SERVER_PORT 443
SERVER_ADDR 185.238.55.171
SERVER_NAME new.teplate.nl
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
HTTP_COOKIE CONCRETE5=69879f2f0128731add2cf9a4da90cdd1
HTTP_ACCEPT_ENCODING gzip, deflate, br, zstd, identity;q=0.9
HTTP_ACCEPT_LANGUAGE nl, en, *
HTTP_ACCEPT text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1
HTTP_USER_AGENT Mozilla/5.0 (compatible; HTTrack/3.x; +https://www.httrack.com/)
HTTP_HOST new.teplate.nl
HTTP_CONNECTION keep-alive
HTTP_REFERER https://new.teplate.nl/index.php
SSL_CLIENT_CERT
SSL_SERVER_CERT -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE-----
SSL_TLS_SNI new.teplate.nl
HTTPS on
SCRIPT_URI https://new.teplate.nl/diensten
SCRIPT_URL /diensten
UNIQUE_ID aui2nbcYEMYQoqtK-eGjXAAAAAE
REDIRECT_STATUS 200
REDIRECT_SSL_CLIENT_CERT
REDIRECT_SSL_SERVER_CERT -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE-----
REDIRECT_SSL_TLS_SNI new.teplate.nl
REDIRECT_HTTPS on
REDIRECT_SCRIPT_URI https://new.teplate.nl/diensten
REDIRECT_SCRIPT_URL /diensten
REDIRECT_UNIQUE_ID aui2nbcYEMYQoqtK-eGjXAAAAAE
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1793635997.6561
REQUEST_TIME 1793635997
Key Value
USER teplateuser1
HOME /home/.sites/111/site30/.users/130/teplateuser1
SCRIPT_NAME /index.php
REQUEST_URI /diensten
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_URL /diensten
REMOTE_PORT 62252
SCRIPT_FILENAME /home/.sites/111/site30/web/index.php
SERVER_ADMIN admin
CONTEXT_DOCUMENT_ROOT /home/.sites/111/site30/web
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/.sites/111/site30/web
REMOTE_ADDR 185.238.53.15
SERVER_PORT 443
SERVER_ADDR 185.238.55.171
SERVER_NAME new.teplate.nl
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
HTTP_COOKIE CONCRETE5=69879f2f0128731add2cf9a4da90cdd1
HTTP_ACCEPT_ENCODING gzip, deflate, br, zstd, identity;q=0.9
HTTP_ACCEPT_LANGUAGE nl, en, *
HTTP_ACCEPT text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1
HTTP_USER_AGENT Mozilla/5.0 (compatible; HTTrack/3.x; +https://www.httrack.com/)
HTTP_HOST new.teplate.nl
HTTP_CONNECTION keep-alive
HTTP_REFERER https://new.teplate.nl/index.php
SSL_CLIENT_CERT
SSL_SERVER_CERT -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE-----
SSL_TLS_SNI new.teplate.nl
HTTPS on
SCRIPT_URI https://new.teplate.nl/diensten
SCRIPT_URL /diensten
UNIQUE_ID aui2nbcYEMYQoqtK-eGjXAAAAAE
REDIRECT_STATUS 200
REDIRECT_SSL_CLIENT_CERT
REDIRECT_SSL_SERVER_CERT -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE-----
REDIRECT_SSL_TLS_SNI new.teplate.nl
REDIRECT_HTTPS on
REDIRECT_SCRIPT_URI https://new.teplate.nl/diensten
REDIRECT_SCRIPT_URL /diensten
REDIRECT_UNIQUE_ID aui2nbcYEMYQoqtK-eGjXAAAAAE
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1793635997.6561
REQUEST_TIME 1793635997
0. Concrete\Core\Error\Handler\JsonErrorHandler
1. Concrete\Core\Error\Handler\ErrorHandler