ErrorException (E_ERROR)
The "filter" filter expects an array or "Traversable", got "NULL".
Previous exceptions
  • The "filter" filter expects an array or "Traversable", got "NULL". (0)
ErrorException thrown with message "The "filter" filter expects an array or "Traversable", got "NULL"." Stacktrace: #85 ErrorException in /var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig:29 #84 Anomaly\Streams\Platform\View\Twig\Engine:handleTwigError in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Engine.php:90 #83 Twig\Error\RuntimeError in /var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig:29 #82 twig_array_filter in /var/www/html/pyrocms/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php:109 #81 __TwigTemplate_0fe8ab922bf9c9adbe96a732e7e2b6eaffa40f26f8b6d6bfe203741e51c86ca8:block_content in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:182 #80 Twig\Template:displayBlock in /var/www/html/pyrocms/storage/framework/views/twig/dc/dc5d4f4adfb0686cedf7427a1c4f28b4a20147733f6161723fffefd2cf9c2f66.php:78 #79 __TwigTemplate_f06f9d623aef86e1c694491f207a4dbc8cdd0e6e809c54899139c03a2d2fc5e3:doDisplay in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:405 #78 Twig\Template:displayWithErrorHandling in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:378 #77 Twig\Template:display in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Template.php:41 #76 Anomaly\Streams\Platform\View\Twig\Template:display in /var/www/html/pyrocms/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php:42 #75 __TwigTemplate_0fe8ab922bf9c9adbe96a732e7e2b6eaffa40f26f8b6d6bfe203741e51c86ca8:doDisplay in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:405 #74 Twig\Template:displayWithErrorHandling in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:378 #73 Twig\Template:display in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Template.php:41 #72 Anomaly\Streams\Platform\View\Twig\Template:display in /var/www/html/pyrocms/vendor/twig/twig/src/Template.php:390 #71 Twig\Template:render in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Engine.php:88 #70 Anomaly\Streams\Platform\View\Twig\Engine:get in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php:139 #69 Illuminate\View\View:getContents in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php:122 #68 Illuminate\View\View:renderContents in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php:91 #67 Illuminate\View\View:render in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Http/Response.php:69 #66 Illuminate\Http\Response:setContent in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Http/Response.php:35 #65 Illuminate\Http\Response:__construct in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:794 #64 Illuminate\Routing\Router:toResponse in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:763 #63 Illuminate\Routing\Router:prepareResponse in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:695 #62 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #61 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/CheckForMaintenanceMode.php:91 #60 Anomaly\Streams\Platform\Http\Middleware\CheckForMaintenanceMode:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #59 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/HttpCache.php:88 #58 Anomaly\Streams\Platform\Http\Middleware\HttpCache:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #57 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/redirects-module/src/Http/Middleware/RedirectDomains.php:32 #56 Anomaly\RedirectsModule\Http\Middleware\RedirectDomains:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #55 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRoutePermission.php:149 #54 Anomaly\UsersModule\Http\Middleware\AuthorizeRoutePermission:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #53 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeControlPanel.php:44 #52 Anomaly\UsersModule\Http\Middleware\AuthorizeControlPanel:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #51 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeModuleAccess.php:54 #50 Anomaly\UsersModule\Http\Middleware\AuthorizeModuleAccess:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #49 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRouteRoles.php:139 #48 Anomaly\UsersModule\Http\Middleware\AuthorizeRouteRoles:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #47 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/CheckSecurity.php:47 #46 Anomaly\UsersModule\Http\Middleware\CheckSecurity:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #45 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/installer-module/src/Http/Middleware/CheckIfInstallerExists.php:72 #44 Anomaly\InstallerModule\Http\Middleware\CheckIfInstallerExists:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #43 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ApplicationReady.php:34 #42 Anomaly\Streams\Platform\Http\Middleware\ApplicationReady:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #41 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/CheckLocale.php:32 #40 Anomaly\Streams\Platform\Http\Middleware\CheckLocale:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #39 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/SetLocale.php:114 #38 Anomaly\Streams\Platform\Http\Middleware\SetLocale:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #37 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/PrefixDomain.php:44 #36 Anomaly\Streams\Platform\Http\Middleware\PrefixDomain:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #35 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ForceSsl.php:49 #34 Anomaly\Streams\Platform\Http\Middleware\ForceSsl:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #33 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78 #32 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/VerifyCsrfToken.php:80 #31 Anomaly\Streams\Platform\Http\Middleware\VerifyCsrfToken:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #30 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/PoweredBy.php:26 #29 Anomaly\Streams\Platform\Http\Middleware\PoweredBy:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #28 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #27 Illuminate\Pipeline\Pipeline:then in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:697 #26 Illuminate\Routing\Router:runRouteWithinStack in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:672 #25 Illuminate\Routing\Router:runRoute in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:636 #24 Illuminate\Routing\Router:dispatchToRoute in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php:625 #23 Illuminate\Routing\Router:dispatch in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:167 #22 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:128 #21 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ProxySession.php:32 #20 Anomaly\Streams\Platform\Http\Middleware\ProxySession:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #19 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #18 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #17 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67 #16 Illuminate\Cookie\Middleware\EncryptCookies:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #15 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #14 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121 #12 Illuminate\Session\Middleware\StartSession:handleStatefulRequest in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 #11 Illuminate\Session\Middleware\StartSession:handle in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:167 #10 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103 #9 Illuminate\Pipeline\Pipeline:then in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:142 #8 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Kernel.php:132 #7 Anomaly\Streams\Platform\Http\Kernel:sendRequestThroughRouter in /var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:111 #6 Illuminate\Foundation\Http\Kernel:handle in /var/www/html/pyrocms/vendor/barryvdh/laravel-httpcache/src/CacheKernel.php:27 #5 Barryvdh\HttpCache\CacheKernel:handle in /var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php:85 #4 Symfony\Component\HttpKernel\HttpCache\SubRequestHandler:handle in /var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php:479 #3 Symfony\Component\HttpKernel\HttpCache\HttpCache:forward in /var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php:452 #2 Symfony\Component\HttpKernel\HttpCache\HttpCache:fetch in /var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php:346 #1 Symfony\Component\HttpKernel\HttpCache\HttpCache:lookup in /var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php:224 #0 Symfony\Component\HttpKernel\HttpCache\HttpCache:handle in /var/www/html/pyrocms/public/index.php:55
85
ErrorException
/addons/default/greenwood/expertise-module/resources/views/detail.twig29
84
Anomaly\Streams\Platform\View\Twig\Engine handleTwigError
/vendor/anomaly/streams-platform/src/View/Twig/Engine.php90
83
Twig\Error\RuntimeError
/addons/default/greenwood/expertise-module/resources/views/detail.twig29
82
twig_array_filter
/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php109
81
__TwigTemplate_0fe8ab922bf9c9adbe96a732e7e2b6eaffa40f26f8b6d6bfe203741e51c86ca8 block_content
/vendor/twig/twig/src/Template.php182
80
Twig\Template displayBlock
/storage/framework/views/twig/dc/dc5d4f4adfb0686cedf7427a1c4f28b4a20147733f6161723fffefd2cf9c2f66.php78
79
__TwigTemplate_f06f9d623aef86e1c694491f207a4dbc8cdd0e6e809c54899139c03a2d2fc5e3 doDisplay
/vendor/twig/twig/src/Template.php405
78
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php378
77
Twig\Template display
/vendor/anomaly/streams-platform/src/View/Twig/Template.php41
76
Anomaly\Streams\Platform\View\Twig\Template display
/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php42
75
__TwigTemplate_0fe8ab922bf9c9adbe96a732e7e2b6eaffa40f26f8b6d6bfe203741e51c86ca8 doDisplay
/vendor/twig/twig/src/Template.php405
74
Twig\Template displayWithErrorHandling
/vendor/twig/twig/src/Template.php378
73
Twig\Template display
/vendor/anomaly/streams-platform/src/View/Twig/Template.php41
72
Anomaly\Streams\Platform\View\Twig\Template display
/vendor/twig/twig/src/Template.php390
71
Twig\Template render
/vendor/anomaly/streams-platform/src/View/Twig/Engine.php88
70
Anomaly\Streams\Platform\View\Twig\Engine get
/vendor/laravel/framework/src/Illuminate/View/View.php139
69
Illuminate\View\View getContents
/vendor/laravel/framework/src/Illuminate/View/View.php122
68
Illuminate\View\View renderContents
/vendor/laravel/framework/src/Illuminate/View/View.php91
67
Illuminate\View\View render
/vendor/laravel/framework/src/Illuminate/Http/Response.php69
66
Illuminate\Http\Response setContent
/vendor/laravel/framework/src/Illuminate/Http/Response.php35
65
Illuminate\Http\Response __construct
/vendor/laravel/framework/src/Illuminate/Routing/Router.php794
64
Illuminate\Routing\Router toResponse
/vendor/laravel/framework/src/Illuminate/Routing/Router.php763
63
Illuminate\Routing\Router prepareResponse
/vendor/laravel/framework/src/Illuminate/Routing/Router.php695
62
Illuminate\Routing\Router Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
61
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/CheckForMaintenanceMode.php91
60
Anomaly\Streams\Platform\Http\Middleware\CheckForMaintenanceMode handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
59
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/HttpCache.php88
58
Anomaly\Streams\Platform\Http\Middleware\HttpCache handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
57
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/redirects-module/src/Http/Middleware/RedirectDomains.php32
56
Anomaly\RedirectsModule\Http\Middleware\RedirectDomains handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
55
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRoutePermission.php149
54
Anomaly\UsersModule\Http\Middleware\AuthorizeRoutePermission handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
53
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeControlPanel.php44
52
Anomaly\UsersModule\Http\Middleware\AuthorizeControlPanel handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
51
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeModuleAccess.php54
50
Anomaly\UsersModule\Http\Middleware\AuthorizeModuleAccess handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
49
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRouteRoles.php139
48
Anomaly\UsersModule\Http\Middleware\AuthorizeRouteRoles handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
47
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/users-module/src/Http/Middleware/CheckSecurity.php47
46
Anomaly\UsersModule\Http\Middleware\CheckSecurity handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
45
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/installer-module/src/Http/Middleware/CheckIfInstallerExists.php72
44
Anomaly\InstallerModule\Http\Middleware\CheckIfInstallerExists handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
43
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/ApplicationReady.php34
42
Anomaly\Streams\Platform\Http\Middleware\ApplicationReady handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
41
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/CheckLocale.php32
40
Anomaly\Streams\Platform\Http\Middleware\CheckLocale handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
39
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/SetLocale.php114
38
Anomaly\Streams\Platform\Http\Middleware\SetLocale handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
37
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/PrefixDomain.php44
36
Anomaly\Streams\Platform\Http\Middleware\PrefixDomain handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
35
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/ForceSsl.php49
34
Anomaly\Streams\Platform\Http\Middleware\ForceSsl handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
33
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php78
32
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken handle
/vendor/anomaly/streams-platform/src/Http/Middleware/VerifyCsrfToken.php80
31
Anomaly\Streams\Platform\Http\Middleware\VerifyCsrfToken handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
30
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/PoweredBy.php26
29
Anomaly\Streams\Platform\Http\Middleware\PoweredBy handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
28
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
27
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php697
26
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php672
25
Illuminate\Routing\Router runRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php636
24
Illuminate\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php625
23
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php167
22
Illuminate\Foundation\Http\Kernel Illuminate\Foundation\Http\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php128
21
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/anomaly/streams-platform/src/Http/Middleware/ProxySession.php32
20
Anomaly\Streams\Platform\Http\Middleware\ProxySession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
19
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
18
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
17
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php67
16
Illuminate\Cookie\Middleware\EncryptCookies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
15
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49
14
Illuminate\View\Middleware\ShareErrorsFromSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
13
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php121
12
Illuminate\Session\Middleware\StartSession handleStatefulRequest
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php64
11
Illuminate\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php167
10
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php103
9
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php142
8
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/anomaly/streams-platform/src/Http/Kernel.php132
7
Anomaly\Streams\Platform\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php111
6
Illuminate\Foundation\Http\Kernel handle
/vendor/barryvdh/laravel-httpcache/src/CacheKernel.php27
5
Barryvdh\HttpCache\CacheKernel handle
/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php85
4
Symfony\Component\HttpKernel\HttpCache\SubRequestHandler handle
/vendor/symfony/http-kernel/HttpCache/HttpCache.php479
3
Symfony\Component\HttpKernel\HttpCache\HttpCache forward
/vendor/symfony/http-kernel/HttpCache/HttpCache.php452
2
Symfony\Component\HttpKernel\HttpCache\HttpCache fetch
/vendor/symfony/http-kernel/HttpCache/HttpCache.php346
1
Symfony\Component\HttpKernel\HttpCache\HttpCache lookup
/vendor/symfony/http-kernel/HttpCache/HttpCache.php224
0
Symfony\Component\HttpKernel\HttpCache\HttpCache handle
/public/index.php55
/var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig
        {% if (expertise.expertise_banner is not empty) %}
        <div class="middle-intro special-padding">
            <a href="https://www.nzgbc.org.nz/" target="_blank"><img src="{{ url('files/large/' ~ expertise.expertise_banner) }}"  title="Expertise Banner" alt="Expertise Banner" /></a> 
        </div>
        <hr/>
        {% endif %}
 
        {% if (expertise.key_areas is not empty) %}
            {% include "theme::partials/expertise_key_areas_feed" with { 'key_areas' : expertise.key_areas, 'show_line' : 'bottom' } %}
        {% endif %}
        {% if (expertise.recent_projects is not empty) %}
            {% include "theme::partials/recent_projects_feed" with { 'projects' : expertise.recent_projects, 'show_line' : 'bottom' } %}
        {% endif %}
        
        <a href="{{ url('expertise') }}" class="read-more footer-spacing-mb8 must-be-ib"><i class="fa fa-angle-left"></i> Return to expertise</a>
        <hr class="show-for-small">
    </div><!--end columns-->
 
    <div class="small-12 medium-3 large-3 columns end right-content expertise-people-feed" id="same-hd-margin2">
        {% for person in expertise.people|filter(person => person.active == 'yes')|sort((a, b) => a.position.sort_order <=> b.position.sort_order ?: a.last_name|lower <=> b.last_name|lower) %}
            <div class="article-listing expertise-people-info {{ loop.first ? 'first-right mobile-no-margin' }}">
                <a href="{{ url('people/' ~ person.people_slug) }}"><h4>{{ person.first_name ~ " " ~ person.last_name }} &#0150; {{ person.position.position_name }}</h4></a>
                <div class="bio-info">
                    {% if person.mobile is not empty %}
                        <p>Mobile: <span>{{ person.mobile }}</span></p>
                    {% endif %}
                    {% if person.email is not empty %}
                        <p class="hide-for-medium">Email: <a href="mailto:{{ person.email }}"><span class="ellipsis">{{ person.email }}</span></a></p>
                        <p class="show-for-medium hide-on-print">Email: <a href="mailto:{{ person.email }}"><span>
                        {% if (person.email|length > 22) %}
                            {{ person.email|slice(0, person.email|length - 5) }}...
                        {% else %}
                            {{ person.email }}
                        {% endif %}
                        </span></a></p>
                    {% endif %} 
                </div>
                <a href="{{ url('people/' ~ person.people_slug) }}">
                    {{ img(url('files/' ~ person.landing_page_image.path)).alt(person.first_name ~ ' ' ~ person.last_name).title(person.first_name ~ ' ' ~ person.last_name)|raw }}
                </a>
Arguments
  1. "The "filter" filter expects an array or "Traversable", got "NULL"."
    
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Engine.php
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @param string $path Full file path to Twig template.
     * @param array  $data
     *
     * @throws \Twig_Error|\ErrorException When unable to load the requested path.
     *
     * @return string
     */
    public function get($path, array $data = [])
    {
        $data = array_merge($this->globalData, $data);
 
        try {
            $content = $this->compiler->load($path)->render($data);
        } catch (Twig_Error $ex) {
            $this->handleTwigError($ex);
        }
 
        return $content;
    }
 
    /**
     * Handle a TwigError exception.
     *
     * @param \Twig_Error $ex
     *
     * @throws \Twig_Error|\ErrorException
     */
    protected function handleTwigError(Twig_Error $ex)
    {
        $context = $ex->getSourceContext();
 
        if (null === $context) {
            throw $ex;
        }
 
/var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig
        {% if (expertise.expertise_banner is not empty) %}
        <div class="middle-intro special-padding">
            <a href="https://www.nzgbc.org.nz/" target="_blank"><img src="{{ url('files/large/' ~ expertise.expertise_banner) }}"  title="Expertise Banner" alt="Expertise Banner" /></a> 
        </div>
        <hr/>
        {% endif %}
 
        {% if (expertise.key_areas is not empty) %}
            {% include "theme::partials/expertise_key_areas_feed" with { 'key_areas' : expertise.key_areas, 'show_line' : 'bottom' } %}
        {% endif %}
        {% if (expertise.recent_projects is not empty) %}
            {% include "theme::partials/recent_projects_feed" with { 'projects' : expertise.recent_projects, 'show_line' : 'bottom' } %}
        {% endif %}
        
        <a href="{{ url('expertise') }}" class="read-more footer-spacing-mb8 must-be-ib"><i class="fa fa-angle-left"></i> Return to expertise</a>
        <hr class="show-for-small">
    </div><!--end columns-->
 
    <div class="small-12 medium-3 large-3 columns end right-content expertise-people-feed" id="same-hd-margin2">
        {% for person in expertise.people|filter(person => person.active == 'yes')|sort((a, b) => a.position.sort_order <=> b.position.sort_order ?: a.last_name|lower <=> b.last_name|lower) %}
            <div class="article-listing expertise-people-info {{ loop.first ? 'first-right mobile-no-margin' }}">
                <a href="{{ url('people/' ~ person.people_slug) }}"><h4>{{ person.first_name ~ " " ~ person.last_name }} &#0150; {{ person.position.position_name }}</h4></a>
                <div class="bio-info">
                    {% if person.mobile is not empty %}
                        <p>Mobile: <span>{{ person.mobile }}</span></p>
                    {% endif %}
                    {% if person.email is not empty %}
                        <p class="hide-for-medium">Email: <a href="mailto:{{ person.email }}"><span class="ellipsis">{{ person.email }}</span></a></p>
                        <p class="show-for-medium hide-on-print">Email: <a href="mailto:{{ person.email }}"><span>
                        {% if (person.email|length > 22) %}
                            {{ person.email|slice(0, person.email|length - 5) }}...
                        {% else %}
                            {{ person.email }}
                        {% endif %}
                        </span></a></p>
                    {% endif %} 
                </div>
                <a href="{{ url('people/' ~ person.people_slug) }}">
                    {{ img(url('files/' ~ person.landing_page_image.path)).alt(person.first_name ~ ' ' ~ person.last_name).title(person.first_name ~ ' ' ~ person.last_name)|raw }}
                </a>
Arguments
  1. "The "filter" filter expects an array or "Traversable", got "NULL"."
    
Exception message: The "filter" filter expects an array or "Traversable", got "NULL".
/var/www/html/pyrocms/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php
            // line 21
            echo "            ";
            $this->loadTemplate("theme::partials/recent_projects_feed", "/var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig", 21)->display(twig_array_merge($context, ["projects" => twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "recent_projects", [], "any", false, false, false, 21), "show_line" => "bottom"]));
            // line 22
            echo "        ";
        }
        // line 23
        echo "    \t
    \t<a href=\"";
        // line 24
        echo call_user_func_array($this->env->getFunction('url')->getCallable(), ["expertise"]);
        echo "\" class=\"read-more footer-spacing-mb8 must-be-ib\"><i class=\"fa fa-angle-left\"></i> Return to expertise</a>
        <hr class=\"show-for-small\">
\t</div><!--end columns-->
 
\t<div class=\"small-12 medium-3 large-3 columns end right-content expertise-people-feed\" id=\"same-hd-margin2\">
        ";
        // line 29
        $context['_parent'] = $context;
        $context['_seq'] = twig_ensure_traversable(twig_sort_filter(twig_array_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "people", [], "any", false, false, false, 29), function ($__person__) use ($context, $macros) { $context["person"] = $__person__; return (twig_get_attribute($this->env, $this->source, $context["person"], "active", [], "any", false, false, false, 29) == "yes"); }), function ($__a__, $__b__) use ($context, $macros) { $context["a"] = $__a__; $context["b"] = $__b__; return (((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["a"] ?? null), "position", [], "any", false, false, false, 29), "sort_order", [], "any", false, false, false, 29) <=> twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["b"] ?? null), "position", [], "any", false, false, false, 29), "sort_order", [], "any", false, false, false, 29))) ? ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["a"] ?? null), "position", [], "any", false, false, false, 29), "sort_order", [], "any", false, false, false, 29) <=> twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["b"] ?? null), "position", [], "any", false, false, false, 29), "sort_order", [], "any", false, false, false, 29))) : ((twig_lower_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["a"] ?? null), "last_name", [], "any", false, false, false, 29)) <=> twig_lower_filter($this->env, twig_get_attribute($this->env, $this->source, ($context["b"] ?? null), "last_name", [], "any", false, false, false, 29))))); }));
        $context['loop'] = [
          'parent' => $context['_parent'],
          'index0' => 0,
          'index'  => 1,
          'first'  => true,
        ];
        if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
            $length = count($context['_seq']);
            $context['loop']['revindex0'] = $length - 1;
            $context['loop']['revindex'] = $length;
            $context['loop']['length'] = $length;
            $context['loop']['last'] = 1 === $length;
        }
        foreach ($context['_seq'] as $context["_key"] => $context["person"]) {
            // line 30
            echo "            <div class=\"article-listing expertise-people-info ";
            echo ((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 30)) ? ("first-right mobile-no-margin") : (""));
            echo "\">
                <a href=\"";
            // line 31
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
    {
        if ($useBlocks && isset($blocks[$name])) {
            $template = $blocks[$name][0];
            $block = $blocks[$name][1];
        } elseif (isset($this->blocks[$name])) {
            $template = $this->blocks[$name][0];
            $block = $this->blocks[$name][1];
        } else {
            $template = null;
            $block = null;
        }
 
        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }
 
        if (null !== $template) {
            try {
                $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }
 
                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
                }
 
                throw $e;
            } catch (\Exception $e) {
                $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
                $e->guess();
 
                throw $e;
            }
        } elseif (false !== $parent = $this->getParent($context)) {
            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false, $templateContext ?? $this);
/var/www/html/pyrocms/storage/framework/views/twig/dc/dc5d4f4adfb0686cedf7427a1c4f28b4a20147733f6161723fffefd2cf9c2f66.php
        $this->loadTemplate("theme::partials/header", "theme::layouts/expertise-details", 11)->display($context);
        // line 12
        echo "        ";
        $this->loadTemplate("theme::partials/banner", "theme::layouts/expertise-details", 12)->display(twig_array_merge($context, ["header_image_left" => twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "header_image_left", [], "any", false, false, false, 12), "path", [], "any", false, false, false, 12), "header_image_right" => twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "header_image_right", [], "any", false, false, false, 12), "path", [], "any", false, false, false, 12)]));
        // line 13
        echo "        <div class=\"row\">
            <div class=\"small-12 show-for-small column\"><hr class=\"hr-margin-top-override\"></div>
        </div>
 
        ";
        // line 17
        $this->loadTemplate("theme::partials/secondary_navigation", "theme::layouts/expertise-details", 17)->display(twig_array_merge($context, ["expertise" => ($context["expertise"] ?? null)]));
        // line 18
        echo "
        <div class=\"row mt mobile-no-margin\">
            <div class=\"small-12 medium-12 large-12 columns\">
                <div class=\"row\">
                    ";
        // line 22
        $this->displayBlock('content', $context, $blocks);
        // line 23
        echo "                </div>\t
            </div><!--end columns-->
        </div><!--end row-->
\t</div><!--end inner-wrap-->
</div><!--end off-canvas-wrap-->
 
";
        // line 29
        $this->loadTemplate("theme::partials/footer", "theme::layouts/expertise-details", 29)->display($context);
        // line 30
        $this->loadTemplate("theme::partials/assets", "theme::layouts/expertise-details", 30)->display($context);
        // line 31
        echo "
</body>
</html>
";
        echo preg_replace(['/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s'],['>','<','\1'],ob_get_clean());
    }
 
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Template.php
     * @var bool Have the creator/composer events fired.
     */
    protected $firedEvents = false;
 
    protected $name = null;
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = [])
    {
        if (!isset($context['__env'])) {
            $context = $this->env->mergeShared($context);
        }
 
        if ($this->shouldFireEvents()) {
            $context = $this->fireEvents($context);
        }
 
        parent::display($context, $blocks);
    }
 
    /**
     * Fire the creator/composer events and return the modified context.
     *
     * @param $context Old context.
     *
     * @return array New context if __env is passed in, else the passed in context is returned.
     */
    public function fireEvents($context)
    {
        if (!isset($context['__env'])) {
            return $context;
        }
 
        /** @var \Illuminate\View\Factory $factory */
        $env      = $context['__env'];
        $viewName = $this->name ?: $this->getTemplateName();
 
        $view = new View(
/var/www/html/pyrocms/storage/framework/views/twig/67/67a0823f3e09b31eb0eecc63cf796d8e8e948e818909c397cfc6107443f7e22d.php
        parent::__construct($env);
 
        $this->source = $this->getSourceContext();
 
        $this->blocks = [
            'content' => [$this, 'block_content'],
        ];
    }
 
    protected function doGetParent(array $context)
    {
        // line 1
        return "theme::layouts/expertise-details";
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        $macros = $this->macros;
        $this->parent = $this->loadTemplate("theme::layouts/expertise-details", "/var/www/html/pyrocms/addons/default/greenwood/expertise-module/resources/views/detail.twig", 1);
        $this->parent->display($context, array_merge($this->blocks, $blocks));
    }
 
    // line 2
    public function block_content($context, array $blocks = [])
    {
        $macros = $this->macros;
        // line 3
        echo "    <div class=\"small-12 medium-offset-1 large-offset-1 medium-9 large-9 columns\"><hr class=\"solid\" /></div><!--end columns-->
    <div class=\"small-12 medium-6 large-6 columns middle-content medium-offset-1 large-offset-1\">
        <h4 class=\"people-name no-transform hide-for-small nmb different-line-height\" id=\"get-height-for-margin2\">";
        // line 5
        echo twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "name", [], "any", false, false, false, 5);
        echo "</h4>
\t\t<div class=\"middle-intro special-padding\">
\t\t\t<p><b>";
        // line 7
        echo twig_get_attribute($this->env, $this->source, ($context["expertise"] ?? null), "intro_text", [], "any", false, false, false, 7);
        echo "</b></p>
\t\t</div>
\t\t<hr/>
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Template.php
     * @var bool Have the creator/composer events fired.
     */
    protected $firedEvents = false;
 
    protected $name = null;
 
    /**
     * {@inheritdoc}
     */
    public function display(array $context, array $blocks = [])
    {
        if (!isset($context['__env'])) {
            $context = $this->env->mergeShared($context);
        }
 
        if ($this->shouldFireEvents()) {
            $context = $this->fireEvents($context);
        }
 
        parent::display($context, $blocks);
    }
 
    /**
     * Fire the creator/composer events and return the modified context.
     *
     * @param $context Old context.
     *
     * @return array New context if __env is passed in, else the passed in context is returned.
     */
    public function fireEvents($context)
    {
        if (!isset($context['__env'])) {
            return $context;
        }
 
        /** @var \Illuminate\View\Factory $factory */
        $env      = $context['__env'];
        $viewName = $this->name ?: $this->getTemplateName();
 
        $view = new View(
/var/www/html/pyrocms/vendor/twig/twig/src/Template.php
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        if ($this->env->isDebug()) {
            ob_start();
        } else {
            ob_start(function () { return ''; });
        }
        try {
            $this->display($context);
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/View/Twig/Engine.php
    {
        $this->globalData = $globalData;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @param string $path Full file path to Twig template.
     * @param array  $data
     *
     * @throws \Twig_Error|\ErrorException When unable to load the requested path.
     *
     * @return string
     */
    public function get($path, array $data = [])
    {
        $data = array_merge($this->globalData, $data);
 
        try {
            $content = $this->compiler->load($path)->render($data);
        } catch (Twig_Error $ex) {
            $this->handleTwigError($ex);
        }
 
        return $content;
    }
 
    /**
     * Handle a TwigError exception.
     *
     * @param \Twig_Error $ex
     *
     * @throws \Twig_Error|\ErrorException
     */
    protected function handleTwigError(Twig_Error $ex)
    {
        $context = $ex->getSourceContext();
 
        if (null === $context) {
            throw $ex;
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    public function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Http/Response.php
        $this->original = $content;
 
        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content)) {
            $this->header('Content-Type', 'application/json');
 
            $content = $this->morphToJson($content);
 
            if ($content === false) {
                throw new InvalidArgumentException(json_last_error_msg());
            }
        }
 
        // If this content implements the "Renderable" interface then we will call the
        // render method on the object so we will avoid any "__toString" exceptions
        // that might be thrown and have their errors obscured by PHP's handling.
        elseif ($content instanceof Renderable) {
            $content = $content->render();
        }
 
        parent::setContent($content);
 
        return $this;
    }
 
    /**
     * Determine if the given content should be turned into JSON.
     *
     * @param  mixed  $content
     * @return bool
     */
    protected function shouldBeJson($content)
    {
        return $content instanceof Arrayable ||
               $content instanceof Jsonable ||
               $content instanceof ArrayObject ||
               $content instanceof JsonSerializable ||
               is_array($content);
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Http/Response.php
{
    use ResponseTrait, Macroable {
        Macroable::__call as macroCall;
    }
 
    /**
     * Create a new HTTP response.
     *
     * @param  mixed  $content
     * @param  int  $status
     * @param  array  $headers
     * @return void
     *
     * @throws \InvalidArgumentException
     */
    public function __construct($content = '', $status = 200, array $headers = [])
    {
        $this->headers = new ResponseHeaderBag($headers);
 
        $this->setContent($content);
        $this->setStatusCode($status);
        $this->setProtocolVersion('1.0');
    }
 
    /**
     * Set the content on the response.
     *
     * @param  mixed  $content
     * @return $this
     *
     * @throws \InvalidArgumentException
     */
    public function setContent($content)
    {
        $this->original = $content;
 
        // If the content is "JSONable" we will set the appropriate header and convert
        // the content to JSON. This is useful when returning something like models
        // from routes that will be automatically transformed to their JSON form.
        if ($this->shouldBeJson($content)) {
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif ($response instanceof Model && $response->wasRecentlyCreated) {
            $response = new JsonResponse($response, 201);
        } elseif ($response instanceof Stringable) {
            $response = new Response($response->__toString(), 200, ['Content-Type' => 'text/html']);
        } elseif (! $response instanceof SymfonyResponse &&
                   ($response instanceof Arrayable ||
                    $response instanceof Jsonable ||
                    $response instanceof ArrayObject ||
                    $response instanceof JsonSerializable ||
                    $response instanceof \stdClass ||
                    is_array($response))) {
            $response = new JsonResponse($response);
        } elseif (! $response instanceof SymfonyResponse) {
            $response = new Response($response, 200, ['Content-Type' => 'text/html']);
        }
 
        if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) {
            $response->setNotModified();
        }
 
        return $response->prepare($request);
    }
 
    /**
     * Substitute the route bindings onto the route.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return \Illuminate\Routing\Route
     *
     * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
     */
    public function substituteBindings($route)
    {
        foreach ($route->parameters() as $key => $value) {
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     * Sort the given middleware by priority.
     *
     * @param  \Illuminate\Support\Collection  $middlewares
     * @return array
     */
    protected function sortMiddleware(Collection $middlewares)
    {
        return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all();
    }
 
    /**
     * Create a response instance from the given value.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function prepareResponse($request, $response)
    {
        return static::toResponse($request, $response);
    }
 
    /**
     * Static version of prepareResponse.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  mixed  $response
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public static function toResponse($request, $response)
    {
        if ($response instanceof Responsable) {
            $response = $response->toResponse($request);
        }
 
        if ($response instanceof PsrResponseInterface) {
            $response = (new HttpFoundationFactory)->createResponse($response);
        } elseif ($response instanceof Model && $response->wasRecentlyCreated) {
            $response = new JsonResponse($response, 201);
        } elseif ($response instanceof Stringable) {
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $computedMiddleware = $route->gatherMiddleware();
 
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($computedMiddleware)->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/CheckForMaintenanceMode.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return void|mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (!$this->application->isEnabled()) {
            abort(503);
        }
 
        if (
            !$this->app->isDownForMaintenance() &&
            !config('streams::maintenance.enabled', false)
        ) {
            return $next($request);
        }
 
        if ($request->segment(1) == 'admin' || str_is('form/handle/*', $request->path())) {
            return $next($request);
        }
 
        if (in_array($request->getClientIp(), config('streams::maintenance.ip_whitelist', []))) {
            return $next($request);
        }
 
        /* @var UserInterface $user */
        $user = $this->guard->user();
 
        if ($user && $user->isAdmin()) {
            return $next($request);
        }
 
        if ($user && $this->authorizer->authorize('streams::maintenance.access')) {
            return $next($request);
        }
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/HttpCache.php
     * @param MessageBag $messages
     */
    public function __construct(Agent $agent, Store $session, MessageBag $messages)
    {
        $this->agent    = $agent;
        $this->session  = $session;
        $this->messages = $messages;
    }
 
    /**
     * Handle the command.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        /* @var Response $response */
        $response = $next($request);
 
        /* @var Route $route */
        $route = $request->route();
 
        /**
         * Don't cache the admin.
         * And skip the rest.
         */
        if ($request->segment(1) == 'admin') {
            return $response->setTtl(0);
        }
 
        /**
         * Don't cache if redirect is desired.
         */
        if ($response instanceof RedirectResponse) {
            return $response->setTtl(0);
        }
 
        /**
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/redirects-module/src/Http/Middleware/RedirectDomains.php
 * @author Ryan Thompson <ryan@pyrocms.com>
 */
class RedirectDomains
{
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (!file_exists($domains = app_storage_path('redirects/domains.php'))) {
            return $next($request);
        }
 
        if (!$domains = require $domains) {
            return $next($request);
        }
 
        if ($redirect = array_get($domains, $request->getHttpHost())) {
            return redirect(
                ($request->isSecure() ? 'https' : 'http') . '://' . array_get(
                    $redirect,
                    'to',
                    config('streams::system.domain')
                ) . '/' . trim($request->path(), '/'),
                $redirect['status'],
                [],
                config('streams::system.force_ssl', false) ?: $redirect['secure']
            );
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRoutePermission.php
            }
 
            if ($intended !== false) {
                $this->session->put('url.intended', $request->fullUrl());
            }
 
            if ($redirect) {
                return $this->redirect->to($redirect);
            }
 
            $route = array_get($this->route->getAction(), 'anomaly.module.users::route');
 
            if ($route) {
                return $this->redirect->route($route);
            }
 
            abort(403);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeControlPanel.php
     * Create a new AuthorizeControlPanel instance.
     *
     * @param Authorizer $authorizer
     */
    public function __construct(Authorizer $authorizer)
    {
        $this->authorizer = $authorizer;
    }
 
    /**
     * Check the authorization of module access.
     *
     * @param  Request  $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if ($request->segment(1) !== 'admin' || in_array($request->path(), ['admin/login', 'admin/logout'])) {
            return $next($request);
        }
 
        if (!$this->authorizer->authorize('streams::control_panel.access')) {
            abort(403);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeModuleAccess.php
     * @param ModuleCollection $modules
     * @param Authorizer       $authorizer
     */
    public function __construct(ModuleCollection $modules, Authorizer $authorizer)
    {
        $this->modules    = $modules;
        $this->authorizer = $authorizer;
    }
 
    /**
     * Check the authorization of module access.
     *
     * @param  Request  $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if ($request->segment(1) !== 'admin' || in_array($request->path(), ['admin/login', 'admin/logout', 'admin'])) {
            return $next($request);
        }
 
        $module = $this->modules->active();
 
        if ($module && !$this->authorizer->authorize($module->getNamespace('*'))) {
            abort(403);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/AuthorizeRouteRoles.php
            }
 
            if ($intended !== false) {
                $this->session->put('url.intended', $request->fullUrl());
            }
 
            if ($redirect) {
                return $this->redirect->to($redirect);
            }
 
            $route = array_get($this->route->getAction(), 'anomaly.module.users::route');
 
            if ($route) {
                return $this->redirect->route($route);
            }
 
            abort(403);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/users-module/src/Http/Middleware/CheckSecurity.php
     * Create a new CheckSecurity instance.
     *
     * @param UserSecurity $security
     */
    public function __construct(UserSecurity $security)
    {
        $this->security = $security;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param Request $request
     * @param Closure $next
     * @return bool|\Illuminate\Http\RedirectResponse|mixed|string
     */
    public function handle(Request $request, Closure $next)
    {
        if ($request->segment(1) !== 'admin' || in_array($request->path(), ['admin/login', 'admin/logout'])) {
            return $next($request);
        }
 
        $response = $this->security->check(auth()->user());
 
        if ($response instanceof Response) {
            return $response;
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/installer-module/src/Http/Middleware/CheckIfInstallerExists.php
 
    /**
     * Handle the incoming request.
     *
     * @param Request $request
     * @param Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (
            $request->path() == 'admin' &&
            !$this->session->get(__CLASS__ . 'warned') &&
            !$this->config->get('app.debug')
        ) {
            $this->session->put(__CLASS__ . 'warned', true);
            $this->messages->error('anomaly.module.installer::message.delete_installer');
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ApplicationReady.php
class ApplicationReady
{
 
    /**
     * Fire an event here as we enter the middleware
     * layer of the application so we can hook into it.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $response = event(new ApplicationHasLoaded(), [], true);
 
        if ($response instanceof Response) {
            return $response;
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/CheckLocale.php
class CheckLocale
{
 
    /**
     * Look for locale=LOCALE in the query string.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
 
        /**
         * If there is no defined locale
         * from the kernel then we've
         * absolutely nothing to do.
         */
        if (!defined('LOCALE')) {
            return $next($request);
        }
 
        /**
         * Check and see if the locale
         * that's defined from the kernel
         * is present in our enabled locales.
         */
        if (!in_array(strtolower(LOCALE), config('streams::locales.enabled'))) {
            abort(404);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/SetLocale.php
 
            Carbon::setLocale($locale);
 
            setlocale(LC_TIME, $this->locale->full($locale));
 
            config()->set('_locale', $locale);
        }
 
        if (!$locale) {
 
            $locale = $this->app->getLocale() ?: config('streams::locales.default');
 
            $this->application->setLocale($locale);
 
            Carbon::setLocale($locale);
 
            setlocale(LC_TIME, $this->locale->full($locale));
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/PrefixDomain.php
     * Create a new PoweredBy instance.
     *
     * @param Redirector $redirect
     */
    public function __construct(Redirector $redirect)
    {
        $this->redirect = $redirect;
    }
 
    /**
     * Force SSL connections.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (!$prefix = config('streams::system.domain_prefix')) {
            return $next($request);
        }
 
        if ($prefix == 'www' && !starts_with($request->getHost(), 'www.')) {
            return $this->redirect->to(
                preg_replace(
                    '/' . preg_quote($request->getHost()) . '/',
                    'www.' . $request->getHost(),
                    $request->fullUrl(),
                    1
                ),
                301
            );
        }
 
        if ($prefix == 'non-www' && starts_with($request->getHost(), 'www.')) {
            return $this->redirect->to(
                preg_replace(
                    '/' . preg_quote($request->getHost()) . '/',
                    str_replace('www.', '', $request->getHost()),
                    $request->fullUrl(),
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ForceSsl.php
    {
        $this->redirect = $redirect;
    }
 
    /**
     * Force SSL connections.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $force = config('streams::system.force_ssl', false);
 
        if ($force && !$request->isSecure()) {
            return $this->redirect->secure($request->getRequestUri(), 301);
        }
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->inExceptArray($request) ||
            $this->tokensMatch($request)
        ) {
            return tap($next($request), function ($response) use ($request) {
                if ($this->shouldAddXsrfTokenCookie()) {
                    $this->addCookieToResponse($request, $response);
                }
            });
        }
 
        throw new TokenMismatchException('CSRF token mismatch.');
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/VerifyCsrfToken.php
        $this->redirector = $redirector;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if ($this->shouldPassThrough()) {
            return $this->addCookieToResponse($request, $next($request));
        }
 
        try {
            return parent::handle($request, $next);
        } catch (TokenMismatchException $exception) {
            $this->messages->error('streams::message.csrf_token_mismatch');
        }
 
        return $this->redirector->back(302);
    }
 
    /**
     * If the route disabled the
     * CSRF then we can skip it.
     *
     * @return bool
     */
    public function shouldPassThrough()
    {
        if (array_get($this->route->getAction(), 'csrf') === false) {
            return true;
        }
 
        return false;
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/PoweredBy.php
 * Class PoweredBy
 *
 * @link   http://pyrocms.com/
 * @author PyroCMS, Inc. <support@pyrocms.com>
 * @author Ryan Thompson <ryan@pyrocms.com>
 */
class PoweredBy
{
 
    /**
     * Say it loud.
     *
     * @param  Request $request
     * @param  \Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        /* @var \Illuminate\Http\Response $response */
        $response = $next($request);
 
        $response->headers->set(
            'X-Streams-Distribution',
            config('streams::distribution.name') . '-' . config('streams::distribution.version')
        );
 
        return $response;
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $computedMiddleware = $route->gatherMiddleware();
 
        $excluded = collect($route->excludedMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->values()->all();
 
        $middleware = collect($computedMiddleware)->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten()->reject(function ($name) use ($excluded) {
            if (empty($excluded)) {
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $route->setContainer($this->container);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Throwable $e) {
                return $this->handleException($passable, $e);
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
                        // will resolve the pipes out of the dependency container and call it with
                        // the appropriate method and arguments, returning the results back out.
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Middleware/ProxySession.php
 * @author Ryan Thompson <ryan@pyrocms.com>
 */
class ProxySession
{
 
    /**
     * Push the user check state to cookie
     * so that the services like HTTPCACHE
     * can keep up with activity within the
     * CMS which is generally bypassed early.
     *
     * @param Request $request
     * @param Closure $next
     * @return bool|\Illuminate\Http\RedirectResponse|mixed|string
     */
    public function handle(Request $request, Closure $next)
    {
        $check = auth()->check();
 
        $response = $next($request);
 
        if (method_exists($response, 'withCookie')) {
            return $response->withCookie(
                cookie('session_proxy', $check, $check ? config('session.lifetime', 120) : -1, null, null, $request->isSecure())
            );
        }
 
        return $response;
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $name
     * @return void
     */
    public function disableFor($name)
    {
        $this->except = array_merge($this->except, (array) $name);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $cookie) {
            if ($this->isDisabled($key) || is_array($cookie)) {
                continue;
            }
 
            try {
                $value = $this->decryptCookie($key, $cookie);
 
                $hasValidPrefix = strpos($value, CookieValuePrefix::create($key, $this->encrypter->getKey())) === 0;
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleStatefulRequest(Request $request, $session, Closure $next)
    {
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        $request->setLaravelSession(
            $this->startSession($request, $session)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        $this->addCookieToResponse($response, $session);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        $this->saveSession($request);
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @return \Illuminate\Contracts\Session\Session
     */
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        $session = $this->getSession($request);
 
        if ($this->manager->shouldBlock() ||
            ($request->route() instanceof Route && $request->route()->locksFor())) {
            return $this->handleRequestWhileBlocking($request, $session, $next);
        }
 
        return $this->handleStatefulRequest($request, $session, $next);
    }
 
    /**
     * Handle the given request within session state.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Contracts\Session\Session  $session
     * @param  \Closure  $next
     * @return mixed
     */
    protected function handleRequestWhileBlocking(Request $request, $session, Closure $next)
    {
        if (! $request->route() instanceof Route) {
            return;
        }
 
        $lockFor = $request->route() && $request->route()->locksFor()
                        ? $request->route()->locksFor()
                        : 10;
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Throwable $e) {
                    return $this->handleException($passable, $e);
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
        [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        return (new Pipeline($this->app))
                    ->send($request)
                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                    ->then($this->dispatchToRouter());
    }
 
    /**
     * Bootstrap the application for HTTP requests.
     *
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
/var/www/html/pyrocms/vendor/anomaly/streams-platform/src/Http/Kernel.php
    /**
     * Send the request through the router.
     *
     * This is the same as the parent logic
     * with the exception of "routeAutomatically"
     *
     * @param \Illuminate\Http\Request $request
     * @return \Illuminate\Http\Response
     */
    public function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        $this->routeAutomatically($request);
 
        return parent::sendRequestThroughRouter($request);
    }
 
    /**
     * Attempt to route the request automatically.
     *
     * Huge thanks to @frednwt for this one.
     *
     * @param Request $request
     */
    protected function routeAutomatically(Request $request)
    {
 
        /**
         * This only applies to admin
         * controllers at this time.
         */
        if ($request->segment(1) !== 'admin') {
            return;
        }
 
/var/www/html/pyrocms/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    public function __construct(Application $app, Router $router)
    {
        $this->app = $app;
        $this->router = $router;
 
        $this->syncMiddlewareToRouter();
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Throwable $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
/var/www/html/pyrocms/vendor/barryvdh/laravel-httpcache/src/CacheKernel.php
use Symfony\Component\HttpKernel\HttpCache\Store;
use Symfony\Component\HttpKernel\HttpCache\SurrogateInterface;
use Symfony\Component\HttpKernel\HttpKernelInterface;
 
class CacheKernel implements HttpKernelInterface
{
    /** @var  Kernel */
    protected $kernel;
 
    protected function __construct(Kernel $kernel)
    {
        $this->kernel = $kernel;
    }
 
    /**
     * {@inheritdoc}
     */
    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
    {
        return $this->kernel->handle($request);
    }
 
    /**
     * Wrap a Laravel Kernel in a Symfony HttpKernel
     *
     * @param Kernel $kernel
     * @param null $storagePath
     * @param SurrogateInterface|null $surrogate
     * @param array $options
     * @return Kernel|HttpCache
     */
    public static function wrap(Kernel $kernel, $storagePath = null, SurrogateInterface $surrogate = null, $options = [] )
    {
        $storagePath = $storagePath ?: storage_path('httpcache');
        $store = new Store($storagePath);
 
        $wrapper = new static($kernel);
        $kernel = new HttpCache($wrapper, $store, $surrogate, $options);
 
        return $kernel;
/var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php
        if (Request::HEADER_X_FORWARDED_FOR & $trustedHeaderSet) {
            $request->headers->set('X-Forwarded-For', $v = implode(', ', $trustedIps));
            $request->server->set('HTTP_X_FORWARDED_FOR', $v);
        } elseif (!(Request::HEADER_FORWARDED & $trustedHeaderSet)) {
            Request::setTrustedProxies($trustedProxies, $trustedHeaderSet | Request::HEADER_X_FORWARDED_FOR);
            $request->headers->set('X-Forwarded-For', $v = implode(', ', $trustedIps));
            $request->server->set('HTTP_X_FORWARDED_FOR', $v);
        }
 
        // fix the client IP address by setting it to 127.0.0.1,
        // which is the core responsibility of this method
        $request->server->set('REMOTE_ADDR', '127.0.0.1');
 
        // ensure 127.0.0.1 is set as trusted proxy
        if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) {
            Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
        }
 
        try {
            return $kernel->handle($request, $type, $catch);
        } finally {
            // restore global state
            Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
        }
    }
}
 
/var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php
 
    /**
     * Forwards the Request to the backend and returns the Response.
     *
     * All backend requests (cache passes, fetches, cache validations)
     * run through this method.
     *
     * @param bool          $catch Whether to catch exceptions or not
     * @param Response|null $entry A Response instance (the stale entry if present, null otherwise)
     *
     * @return Response A Response instance
     */
    protected function forward(Request $request, bool $catch = false, Response $entry = null)
    {
        if ($this->surrogate) {
            $this->surrogate->addSurrogateCapability($request);
        }
 
        // always a "master" request (as the real master request can be in cache)
        $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $catch);
 
        /*
         * Support stale-if-error given on Responses or as a config option.
         * RFC 7234 summarizes in Section 4.2.4 (but also mentions with the individual
         * Cache-Control directives) that
         *
         *      A cache MUST NOT generate a stale response if it is prohibited by an
         *      explicit in-protocol directive (e.g., by a "no-store" or "no-cache"
         *      cache directive, a "must-revalidate" cache-response-directive, or an
         *      applicable "s-maxage" or "proxy-revalidate" cache-response-directive;
         *      see Section 5.2.2).
         *
         * https://tools.ietf.org/html/rfc7234#section-4.2.4
         *
         * We deviate from this in one detail, namely that we *do* serve entries in the
         * stale-if-error case even if they have a `s-maxage` Cache-Control directive.
         */
        if (null !== $entry
            && \in_array($response->getStatusCode(), [500, 502, 503, 504])
            && !$entry->headers->hasCacheControlDirective('no-cache')
/var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php
     * stores it in the cache if is cacheable.
     *
     * @param bool $catch Whether to process exceptions
     *
     * @return Response A Response instance
     */
    protected function fetch(Request $request, bool $catch = false)
    {
        $subRequest = clone $request;
 
        // send no head requests because we want content
        if ('HEAD' === $request->getMethod()) {
            $subRequest->setMethod('GET');
        }
 
        // avoid that the backend sends no content
        $subRequest->headers->remove('If-Modified-Since');
        $subRequest->headers->remove('If-None-Match');
 
        $response = $this->forward($subRequest, $catch);
 
        if ($response->isCacheable()) {
            $this->store($request, $response);
        }
 
        return $response;
    }
 
    /**
     * Forwards the Request to the backend and returns the Response.
     *
     * All backend requests (cache passes, fetches, cache validations)
     * run through this method.
     *
     * @param bool          $catch Whether to catch exceptions or not
     * @param Response|null $entry A Response instance (the stale entry if present, null otherwise)
     *
     * @return Response A Response instance
     */
    protected function forward(Request $request, bool $catch = false, Response $entry = null)
/var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php
     * @throws \Exception
     */
    protected function lookup(Request $request, bool $catch = false)
    {
        try {
            $entry = $this->store->lookup($request);
        } catch (\Exception $e) {
            $this->record($request, 'lookup-failed');
 
            if ($this->options['debug']) {
                throw $e;
            }
 
            return $this->pass($request, $catch);
        }
 
        if (null === $entry) {
            $this->record($request, 'miss');
 
            return $this->fetch($request, $catch);
        }
 
        if (!$this->isFreshEnough($request, $entry)) {
            $this->record($request, 'stale');
 
            return $this->validate($request, $entry, $catch);
        }
 
        if ($entry->headers->hasCacheControlDirective('no-cache')) {
            return $this->validate($request, $entry, $catch);
        }
 
        $this->record($request, 'fresh');
 
        $entry->headers->set('Age', $entry->getAge());
 
        return $entry;
    }
 
    /**
/var/www/html/pyrocms/vendor/symfony/http-kernel/HttpCache/HttpCache.php
            if (null !== $this->surrogate) {
                $this->surrogateCacheStrategy = $this->surrogate->createCacheStrategy();
            }
        }
 
        $this->traces[$this->getTraceKey($request)] = [];
 
        if (!$request->isMethodSafe()) {
            $response = $this->invalidate($request, $catch);
        } elseif ($request->headers->has('expect') || !$request->isMethodCacheable()) {
            $response = $this->pass($request, $catch);
        } elseif ($this->options['allow_reload'] && $request->isNoCache()) {
            /*
                If allow_reload is configured and the client requests "Cache-Control: no-cache",
                reload the cache by fetching a fresh response and caching it (if possible).
            */
            $this->record($request, 'reload');
            $response = $this->fetch($request, $catch);
        } else {
            $response = $this->lookup($request, $catch);
        }
 
        $this->restoreResponseBody($request, $response);
 
        if (HttpKernelInterface::MAIN_REQUEST === $type) {
            $this->addTraces($response);
        }
 
        if (null !== $this->surrogate) {
            if (HttpKernelInterface::MAIN_REQUEST === $type) {
                $this->surrogateCacheStrategy->update($response);
            } else {
                $this->surrogateCacheStrategy->add($response);
            }
        }
 
        $response->prepare($request);
 
        $response->isNotModified($request);
 
/var/www/html/pyrocms/public/index.php
$app = require_once __DIR__.'/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$kernel = \Anomaly\Streams\Platform\Http\CacheKernel::wrap($kernel);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_HTTP_AUTHORIZATION
""
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"www.greenwoodroche.com"
REDIRECT_STATUS
"200"
HTTP_AUTHORIZATION
""
HTTPS
"on"
SSL_TLS_SNI
"www.greenwoodroche.com"
SSL_SERVER_S_DN_CN
"greenwoodroche.com"
SSL_SERVER_I_DN_C
"US"
SSL_SERVER_I_DN_O
"Let's Encrypt"
SSL_SERVER_I_DN_CN
"R3"
SSL_SERVER_SAN_DNS_0
"greenwoodroche.com"
SSL_SERVER_SAN_DNS_1
"www.greenwoodroche.com"
SSL_VERSION_INTERFACE
"mod_ssl/2.4.41"
SSL_VERSION_LIBRARY
"OpenSSL/1.1.1f"
SSL_PROTOCOL
"TLSv1.3"
SSL_SECURE_RENEG
"true"
SSL_COMPRESS_METHOD
"NULL"
SSL_CIPHER
"TLS_AES_256_GCM_SHA384"
SSL_CIPHER_EXPORT
"false"
SSL_CIPHER_USEKEYSIZE
"256"
SSL_CIPHER_ALGKEYSIZE
"256"
SSL_CLIENT_VERIFY
"NONE"
SSL_SERVER_M_VERSION
"3"
SSL_SERVER_M_SERIAL
"049416B2660BD32449C529ECE2D11449AE6C"
SSL_SERVER_V_START
"Feb 23 00:40:18 2024 GMT"
SSL_SERVER_V_END
"May 23 00:40:17 2024 GMT"
SSL_SERVER_S_DN
"CN=greenwoodroche.com"
SSL_SERVER_I_DN
"CN=R3,O=Let's Encrypt,C=US"
SSL_SERVER_A_KEY
"id-ecPublicKey"
SSL_SERVER_A_SIG
"sha256WithRSAEncryption"
SSL_SESSION_ID
"89014b7227a51e37cd050f55dc53c376b3a9fc231dd053ffa54d401021288ec9"
SSL_SESSION_RESUMED
"Initial"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"claudebot"
HTTP_REFERER
"http://www.greenwoodroche.com/expertise/contact"
HTTP_HOST
"www.greenwoodroche.com"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.41 (Ubuntu) Server at www.greenwoodroche.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.41 (Ubuntu)"
SERVER_NAME
"www.greenwoodroche.com"
SERVER_ADDR
"10.4.0.4"
SERVER_PORT
"443"
REMOTE_ADDR
"34.226.141.207"
DOCUMENT_ROOT
"/var/www/html/pyrocms/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/pyrocms/public"
SERVER_ADMIN
"mauro.oliveira@codec.co.nz"
SCRIPT_FILENAME
"/var/www/html/pyrocms/public/index.php"
REMOTE_PORT
"38856"
REDIRECT_URL
"/expertise/contact"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/expertise/contact"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711631273.253
REQUEST_TIME
1711631273
ORIGINAL_REQUEST_URI
"/expertise/contact"
empty
0. Whoops\Handler\PrettyPageHandler