<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
/* @Security/Collector/security.html.twig */
class __TwigTemplate_311b2c91a503324d454154b8a304a37a extends Template
{
private $source;
private $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'page_title' => [$this, 'block_page_title'],
'toolbar' => [$this, 'block_toolbar'],
'menu' => [$this, 'block_menu'],
'panel' => [$this, 'block_panel'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "@WebProfiler/Profiler/layout.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Security/Collector/security.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@Security/Collector/security.html.twig"));
$this->parent = $this->loadTemplate("@WebProfiler/Profiler/layout.html.twig", "@Security/Collector/security.html.twig", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 3
public function block_page_title($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "page_title"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "page_title"));
echo "Security";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 5
public function block_toolbar($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
// line 6
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 6, $this->source); })()), "firewall", [], "any", false, false, false, 6)) {
// line 7
echo " ";
$context["color_code"] = (((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 7, $this->source); })()), "enabled", [], "any", false, false, false, 7) && !twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 7, $this->source); })()), "authenticatorManagerEnabled", [], "any", false, false, false, 7))) ? ("yellow") : (""));
// line 8
echo " ";
ob_start();
// line 9
echo " ";
echo twig_include($this->env, $context, "@Security/Collector/icon.svg");
echo "
<span class=\"sf-toolbar-value\">";
// line 10
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "user", [], "any", true, true, false, 10)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "user", [], "any", false, false, false, 10), "n/a")) : ("n/a")), "html", null, true);
echo "</span>
";
$context["icon"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
// line 12
echo "
";
// line 13
ob_start();
// line 14
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 14, $this->source); })()), "impersonated", [], "any", false, false, false, 14)) {
// line 15
echo " <div class=\"sf-toolbar-info-group\">
<div class=\"sf-toolbar-info-piece\">
<b>Impersonator</b>
<span>";
// line 18
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 18, $this->source); })()), "impersonatorUser", [], "any", false, false, false, 18), "html", null, true);
echo "</span>
</div>
</div>
";
}
// line 22
echo "
<div class=\"sf-toolbar-info-group\">
";
// line 24
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 24, $this->source); })()), "enabled", [], "any", false, false, false, 24)) {
// line 25
echo " ";
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 25, $this->source); })()), "token", [], "any", false, false, false, 25)) {
// line 26
echo " <div class=\"sf-toolbar-info-piece\">
<b>Logged in as</b>
<span>";
// line 28
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 28, $this->source); })()), "user", [], "any", false, false, false, 28), "html", null, true);
echo "</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-";
// line 33
echo ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 33, $this->source); })()), "authenticated", [], "any", false, false, false, 33)) ? ("green") : ("yellow"));
echo "\">";
echo ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 33, $this->source); })()), "authenticated", [], "any", false, false, false, 33)) ? ("Yes") : ("No"));
echo "</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Roles</b>
<span>
";
// line 39
$context["remainingRoles"] = twig_slice($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 39, $this->source); })()), "roles", [], "any", false, false, false, 39), 1);
// line 40
echo " ";
echo twig_escape_filter($this->env, twig_first($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 40, $this->source); })()), "roles", [], "any", false, false, false, 40)), "html", null, true);
echo "
";
// line 41
if ( !twig_test_empty((isset($context["remainingRoles"]) || array_key_exists("remainingRoles", $context) ? $context["remainingRoles"] : (function () { throw new RuntimeError('Variable "remainingRoles" does not exist.', 41, $this->source); })()))) {
// line 42
echo " +
<abbr title=\"";
// line 43
echo twig_escape_filter($this->env, twig_join_filter((isset($context["remainingRoles"]) || array_key_exists("remainingRoles", $context) ? $context["remainingRoles"] : (function () { throw new RuntimeError('Variable "remainingRoles" does not exist.', 43, $this->source); })()), ", "), "html", null, true);
echo "\">
";
// line 44
echo twig_escape_filter($this->env, twig_length_filter($this->env, (isset($context["remainingRoles"]) || array_key_exists("remainingRoles", $context) ? $context["remainingRoles"] : (function () { throw new RuntimeError('Variable "remainingRoles" does not exist.', 44, $this->source); })())), "html", null, true);
echo " more
</abbr>
";
}
// line 47
echo " </span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Token class</b>
<span>";
// line 52
echo $this->extensions['Symfony\Bridge\Twig\Extension\CodeExtension']->abbrClass(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 52, $this->source); })()), "tokenClass", [], "any", false, false, false, 52));
echo "</span>
</div>
";
} else {
// line 55
echo " <div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-yellow\">No</span>
</div>
";
}
// line 60
echo "
";
// line 61
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 61, $this->source); })()), "firewall", [], "any", false, false, false, 61)) {
// line 62
echo " <div class=\"sf-toolbar-info-piece\">
<b>Firewall name</b>
<span>";
// line 64
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 64, $this->source); })()), "firewall", [], "any", false, false, false, 64), "name", [], "any", false, false, false, 64), "html", null, true);
echo "</span>
</div>
";
}
// line 67
echo "
";
// line 68
if ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 68, $this->source); })()), "token", [], "any", false, false, false, 68) && twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 68, $this->source); })()), "logoutUrl", [], "any", false, false, false, 68))) {
// line 69
echo " <div class=\"sf-toolbar-info-piece\">
<b>Actions</b>
<span>
<a href=\"";
// line 72
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 72, $this->source); })()), "logoutUrl", [], "any", false, false, false, 72), "html", null, true);
echo "\">Logout</a>
";
// line 73
if ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 73, $this->source); })()), "impersonated", [], "any", false, false, false, 73) && twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 73, $this->source); })()), "impersonationExitPath", [], "any", false, false, false, 73))) {
// line 74
echo " | <a href=\"";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 74, $this->source); })()), "impersonationExitPath", [], "any", false, false, false, 74), "html", null, true);
echo "\">Exit impersonation</a>
";
}
// line 76
echo " </span>
</div>
";
}
// line 79
echo " ";
} else {
// line 80
echo " <div class=\"sf-toolbar-info-piece\">
<span>The security is disabled.</span>
</div>
";
}
// line 84
echo " </div>
";
$context["text"] = ('' === $tmp = ob_get_clean()) ? '' : new Markup($tmp, $this->env->getCharset());
// line 86
echo "
";
// line 87
echo twig_include($this->env, $context, "@WebProfiler/Profiler/toolbar_item.html.twig", ["link" => (isset($context["profiler_url"]) || array_key_exists("profiler_url", $context) ? $context["profiler_url"] : (function () { throw new RuntimeError('Variable "profiler_url" does not exist.', 87, $this->source); })()), "status" => (isset($context["color_code"]) || array_key_exists("color_code", $context) ? $context["color_code"] : (function () { throw new RuntimeError('Variable "color_code" does not exist.', 87, $this->source); })())]);
echo "
";
}
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 91
public function block_menu($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
// line 92
echo " <span class=\"label ";
echo ((( !twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 92, $this->source); })()), "firewall", [], "any", false, false, false, 92) || !twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 92, $this->source); })()), "token", [], "any", false, false, false, 92))) ? ("disabled") : (""));
echo "\">
<span class=\"icon\">";
// line 93
echo twig_include($this->env, $context, "@Security/Collector/icon.svg");
echo "</span>
<strong>Security</strong>
</span>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
// line 98
public function block_panel($context, array $blocks = [])
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
// line 99
echo " <h2>Security</h2>
";
// line 100
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 100, $this->source); })()), "enabled", [], "any", false, false, false, 100)) {
// line 101
echo " <div class=\"sf-tabs\">
<div class=\"tab ";
// line 102
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 102, $this->source); })()), "token", [], "any", false, false, false, 102))) ? ("disabled") : (""));
echo "\">
<h3 class=\"tab-title\">Token</h3>
<div class=\"tab-content\">
";
// line 106
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 106, $this->source); })()), "token", [], "any", false, false, false, 106)) {
// line 107
echo " <div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 109
(((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 109, $this->source); })()), "user", [], "any", false, false, false, 109) == "anon.")) ? (print ("Anonymous")) : (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 109, $this->source); })()), "user", [], "any", false, false, false, 109), "html", null, true))));
echo "</span>
<span class=\"label\">Username</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 114
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 114, $this->source); })()), "authenticated", [], "any", false, false, false, 114)) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Authenticated</span>
</div>
</div>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Property</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>Roles</th>
<td>
";
// line 130
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 130, $this->source); })()), "roles", [], "any", false, false, false, 130))) ? ("none") : ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 130, $this->source); })()), "roles", [], "any", false, false, false, 130), 1)));
echo "
";
// line 132
if (( !twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 132, $this->source); })()), "authenticated", [], "any", false, false, false, 132) && twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 132, $this->source); })()), "roles", [], "any", false, false, false, 132)))) {
// line 133
echo " <p class=\"help\">User is not authenticated probably because they have no roles.</p>
";
}
// line 135
echo " </td>
</tr>
";
// line 138
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 138, $this->source); })()), "supportsRoleHierarchy", [], "any", false, false, false, 138)) {
// line 139
echo " <tr>
<th>Inherited Roles</th>
<td>";
// line 141
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 141, $this->source); })()), "inheritedRoles", [], "any", false, false, false, 141))) ? ("none") : ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 141, $this->source); })()), "inheritedRoles", [], "any", false, false, false, 141), 1)));
echo "</td>
</tr>
";
}
// line 144
echo "
";
// line 145
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 145, $this->source); })()), "token", [], "any", false, false, false, 145)) {
// line 146
echo " <tr>
<th>Token</th>
<td>";
// line 148
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 148, $this->source); })()), "token", [], "any", false, false, false, 148));
echo "</td>
</tr>
";
}
// line 151
echo " </tbody>
</table>
";
} elseif (twig_get_attribute($this->env, $this->source, // line 153
(isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 153, $this->source); })()), "enabled", [], "any", false, false, false, 153)) {
// line 154
echo " <div class=\"empty\">
<p>There is no security token.</p>
</div>
";
}
// line 158
echo " </div>
</div>
<div class=\"tab ";
// line 161
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 161, $this->source); })()), "firewall", [], "any", false, false, false, 161), "security_enabled", [], "any", false, false, false, 161))) ? ("disabled") : (""));
echo "\">
<h3 class=\"tab-title\">Firewall</h3>
<div class=\"tab-content\">
";
// line 164
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 164, $this->source); })()), "firewall", [], "any", false, false, false, 164)) {
// line 165
echo " <div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 167
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 167, $this->source); })()), "firewall", [], "any", false, false, false, 167), "name", [], "any", false, false, false, 167), "html", null, true);
echo "</span>
<span class=\"label\">Name</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 171
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 171, $this->source); })()), "firewall", [], "any", false, false, false, 171), "security_enabled", [], "any", false, false, false, 171)) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Security enabled</span>
</div>
<div class=\"metric\">
<span class=\"value\">";
// line 175
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 175, $this->source); })()), "firewall", [], "any", false, false, false, 175), "stateless", [], "any", false, false, false, 175)) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Stateless</span>
</div>
";
// line 178
if ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 178, $this->source); })()), "authenticatorManagerEnabled", [], "any", false, false, false, 178) == false)) {
// line 179
echo " <div class=\"metric\">
<span class=\"value\">";
// line 180
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . ((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 180, $this->source); })()), "firewall", [], "any", false, false, false, 180), "allows_anonymous", [], "any", false, false, false, 180)) ? ("yes") : ("no"))) . ".svg"));
echo "</span>
<span class=\"label\">Allows anonymous</span>
</div>
";
}
// line 184
echo " </div>
";
// line 186
if (twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 186, $this->source); })()), "firewall", [], "any", false, false, false, 186), "security_enabled", [], "any", false, false, false, 186)) {
// line 187
echo " <h4>Configuration</h4>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Key</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>provider</th>
<td>";
// line 198
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 198, $this->source); })()), "firewall", [], "any", false, false, false, 198), "provider", [], "any", false, false, false, 198)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 198, $this->source); })()), "firewall", [], "any", false, false, false, 198), "provider", [], "any", false, false, false, 198), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
<tr>
<th>context</th>
<td>";
// line 202
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 202, $this->source); })()), "firewall", [], "any", false, false, false, 202), "context", [], "any", false, false, false, 202)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 202, $this->source); })()), "firewall", [], "any", false, false, false, 202), "context", [], "any", false, false, false, 202), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
<tr>
<th>entry_point</th>
<td>";
// line 206
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 206, $this->source); })()), "firewall", [], "any", false, false, false, 206), "entry_point", [], "any", false, false, false, 206)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 206, $this->source); })()), "firewall", [], "any", false, false, false, 206), "entry_point", [], "any", false, false, false, 206), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
<tr>
<th>user_checker</th>
<td>";
// line 210
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 210, $this->source); })()), "firewall", [], "any", false, false, false, 210), "user_checker", [], "any", false, false, false, 210)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 210, $this->source); })()), "firewall", [], "any", false, false, false, 210), "user_checker", [], "any", false, false, false, 210), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
<tr>
<th>access_denied_handler</th>
<td>";
// line 214
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 214, $this->source); })()), "firewall", [], "any", false, false, false, 214), "access_denied_handler", [], "any", false, false, false, 214)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 214, $this->source); })()), "firewall", [], "any", false, false, false, 214), "access_denied_handler", [], "any", false, false, false, 214), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
<tr>
<th>access_denied_url</th>
<td>";
// line 218
((twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 218, $this->source); })()), "firewall", [], "any", false, false, false, 218), "access_denied_url", [], "any", false, false, false, 218)) ? (print (twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 218, $this->source); })()), "firewall", [], "any", false, false, false, 218), "access_denied_url", [], "any", false, false, false, 218), "html", null, true))) : (print ("(none)")));
echo "</td>
</tr>
";
// line 220
if (twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 220, $this->source); })()), "authenticatorManagerEnabled", [], "any", false, false, false, 220)) {
// line 221
echo " <tr>
<th>authenticators</th>
<td>";
// line 223
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 223, $this->source); })()), "firewall", [], "any", false, false, false, 223), "authenticators", [], "any", false, false, false, 223))) ? ("(none)") : ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 223, $this->source); })()), "firewall", [], "any", false, false, false, 223), "authenticators", [], "any", false, false, false, 223), 1)));
echo "</td>
</tr>
";
} else {
// line 226
echo " <tr>
<th>listeners</th>
<td>";
// line 228
echo ((twig_test_empty(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 228, $this->source); })()), "firewall", [], "any", false, false, false, 228), "listeners", [], "any", false, false, false, 228))) ? ("(none)") : ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 228, $this->source); })()), "firewall", [], "any", false, false, false, 228), "listeners", [], "any", false, false, false, 228), 1)));
echo "</td>
</tr>
";
}
// line 231
echo " </tbody>
</table>
";
}
// line 234
echo " ";
}
// line 235
echo " </div>
</div>
<div class=\"tab ";
// line 238
echo ((twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "listeners", [], "any", true, true, false, 238)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "listeners", [], "any", false, false, false, 238), [])) : ([])))) ? ("disabled") : (""));
echo "\">
<h3 class=\"tab-title\">Listeners</h3>
<div class=\"tab-content\">
";
// line 241
if (twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "listeners", [], "any", true, true, false, 241)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "listeners", [], "any", false, false, false, 241), [])) : ([])))) {
// line 242
echo " <div class=\"empty\">
<p>No security listeners have been recorded. Check that debugging is enabled in the kernel.</p>
</div>
";
} else {
// line 246
echo " <table>
<thead>
<tr>
<th>Listener</th>
<th>Duration</th>
<th>Response</th>
</tr>
</thead>
";
// line 255
$context["previous_event"] = twig_first($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 255, $this->source); })()), "listeners", [], "any", false, false, false, 255));
// line 256
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 256, $this->source); })()), "listeners", [], "any", false, false, false, 256));
$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["listener"]) {
// line 257
echo " ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 257) || ($context["listener"] != (isset($context["previous_event"]) || array_key_exists("previous_event", $context) ? $context["previous_event"] : (function () { throw new RuntimeError('Variable "previous_event" does not exist.', 257, $this->source); })())))) {
// line 258
echo " ";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 258)) {
// line 259
echo " </tbody>
";
}
// line 261
echo "
<tbody>
";
// line 263
$context["previous_event"] = $context["listener"];
// line 264
echo " ";
}
// line 265
echo "
<tr>
<td class=\"font-normal\">";
// line 267
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["listener"], "stub", [], "any", false, false, false, 267));
echo "</td>
<td class=\"no-wrap\">";
// line 268
echo twig_escape_filter($this->env, twig_sprintf("%0.2f", (twig_get_attribute($this->env, $this->source, $context["listener"], "time", [], "any", false, false, false, 268) * 1000)), "html", null, true);
echo " ms</td>
<td class=\"font-normal\">";
// line 269
echo ((twig_get_attribute($this->env, $this->source, $context["listener"], "response", [], "any", false, false, false, 269)) ? ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["listener"], "response", [], "any", false, false, false, 269))) : ("(none)"));
echo "</td>
</tr>
";
// line 272
if (twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 272)) {
// line 273
echo " </tbody>
";
}
// line 275
echo " ";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['listener'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 276
echo " </table>
";
}
// line 278
echo " </div>
</div>
<div class=\"tab ";
// line 281
echo ((twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "authenticators", [], "any", true, true, false, 281)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "authenticators", [], "any", false, false, false, 281), [])) : ([])))) ? ("disabled") : (""));
echo "\">
<h3 class=\"tab-title\">Authenticators</h3>
<div class=\"tab-content\">
";
// line 284
if ( !twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "authenticators", [], "any", true, true, false, 284)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "authenticators", [], "any", false, false, false, 284), [])) : ([])))) {
// line 285
echo " <table>
<thead>
<tr>
<th>Authenticator</th>
<th>Supports</th>
<th>Duration</th>
<th>Passport</th>
</tr>
</thead>
";
// line 295
$context["previous_event"] = twig_first($this->env, twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 295, $this->source); })()), "listeners", [], "any", false, false, false, 295));
// line 296
echo " ";
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 296, $this->source); })()), "authenticators", [], "any", false, false, false, 296));
$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["authenticator"]) {
// line 297
echo " ";
if ((twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 297) || ($context["authenticator"] != (isset($context["previous_event"]) || array_key_exists("previous_event", $context) ? $context["previous_event"] : (function () { throw new RuntimeError('Variable "previous_event" does not exist.', 297, $this->source); })())))) {
// line 298
echo " ";
if ( !twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 298)) {
// line 299
echo " </tbody>
";
}
// line 301
echo "
<tbody>
";
// line 303
$context["previous_event"] = $context["authenticator"];
// line 304
echo " ";
}
// line 305
echo "
<tr>
<td class=\"font-normal\">";
// line 307
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["authenticator"], "stub", [], "any", false, false, false, 307));
echo "</td>
<td class=\"no-wrap\">";
// line 308
echo twig_include($this->env, $context, (("@WebProfiler/Icon/" . ((twig_get_attribute($this->env, $this->source, $context["authenticator"], "supports", [], "any", false, false, false, 308)) ? ("yes") : ("no"))) . ".svg"));
echo "</td>
<td class=\"no-wrap\">";
// line 309
echo twig_escape_filter($this->env, twig_sprintf("%0.2f", (twig_get_attribute($this->env, $this->source, $context["authenticator"], "duration", [], "any", false, false, false, 309) * 1000)), "html", null, true);
echo " ms</td>
<td class=\"font-normal\">";
// line 310
echo ((twig_get_attribute($this->env, $this->source, $context["authenticator"], "passport", [], "any", false, false, false, 310)) ? ($this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["authenticator"], "passport", [], "any", false, false, false, 310))) : ("(none)"));
echo "</td>
</tr>
";
// line 313
if (twig_get_attribute($this->env, $this->source, $context["loop"], "last", [], "any", false, false, false, 313)) {
// line 314
echo " </tbody>
";
}
// line 316
echo " ";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['authenticator'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 317
echo " </table>
";
} else {
// line 319
echo " <div class=\"empty\">
<p>No authenticators have been recorded. Check previous profiles on your authentication endpoint.</p>
</div>
";
}
// line 323
echo " </div>
</div>
<div class=\"tab ";
// line 326
echo ((twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "accessDecisionLog", [], "any", true, true, false, 326)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "accessDecisionLog", [], "any", false, false, false, 326), [])) : ([])))) ? ("disabled") : (""));
echo "\">
<h3 class=\"tab-title\">Access Decision</h3>
<div class=\"tab-content\">
";
// line 329
if ( !twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "voters", [], "any", true, true, false, 329)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "voters", [], "any", false, false, false, 329), [])) : ([])))) {
// line 330
echo " <div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">";
// line 332
echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "voterStrategy", [], "any", true, true, false, 332)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "voterStrategy", [], "any", false, false, false, 332), "unknown")) : ("unknown")), "html", null, true);
echo "</span>
<span class=\"label\">Strategy</span>
</div>
</div>
<table class=\"voters\">
<thead>
<tr>
<th>#</th>
<th>Voter class</th>
</tr>
</thead>
<tbody>
";
// line 346
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 346, $this->source); })()), "voters", [], "any", false, false, false, 346));
$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["voter"]) {
// line 347
echo " <tr>
<td class=\"font-normal text-small text-muted nowrap\">";
// line 348
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 348), "html", null, true);
echo "</td>
<td class=\"font-normal\">";
// line 349
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, $context["voter"]);
echo "</td>
</tr>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['voter'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 352
echo " </tbody>
</table>
";
}
// line 355
echo " ";
if ( !twig_test_empty(((twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "accessDecisionLog", [], "any", true, true, false, 355)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, ($context["collector"] ?? null), "accessDecisionLog", [], "any", false, false, false, 355), [])) : ([])))) {
// line 356
echo " <h2>Access decision log</h2>
<table class=\"decision-log\">
<col style=\"width: 30px\">
<col style=\"width: 120px\">
<col style=\"width: 25%\">
<col style=\"width: 60%\">
<thead>
<tr>
<th>#</th>
<th>Result</th>
<th>Attributes</th>
<th>Object</th>
</tr>
</thead>
<tbody>
";
// line 374
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 374, $this->source); })()), "accessDecisionLog", [], "any", false, false, false, 374));
$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["decision"]) {
// line 375
echo " <tr class=\"voter_result\">
<td class=\"font-normal text-small text-muted nowrap\">";
// line 376
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 376), "html", null, true);
echo "</td>
<td class=\"font-normal\">
";
// line 378
echo ((twig_get_attribute($this->env, $this->source, $context["decision"], "result", [], "any", false, false, false, 378)) ? ("<span class=\"label status-success same-width\">GRANTED</span>") : ("<span class=\"label status-error same-width\">DENIED</span>"));
// line 381
echo "
</td>
<td>
";
// line 384
if ((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, $context["decision"], "attributes", [], "any", false, false, false, 384)) == 1)) {
// line 385
echo " ";
$context["attribute"] = twig_first($this->env, twig_get_attribute($this->env, $this->source, $context["decision"], "attributes", [], "any", false, false, false, 385));
// line 386
echo " ";
if (twig_get_attribute($this->env, $this->source, ($context["attribute"] ?? null), "expression", [], "any", true, true, false, 386)) {
// line 387
echo " Expression: <pre><code>";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["attribute"]) || array_key_exists("attribute", $context) ? $context["attribute"] : (function () { throw new RuntimeError('Variable "attribute" does not exist.', 387, $this->source); })()), "expression", [], "any", false, false, false, 387), "html", null, true);
echo "</code></pre>
";
} elseif ((twig_get_attribute($this->env, $this->source, // line 388
(isset($context["attribute"]) || array_key_exists("attribute", $context) ? $context["attribute"] : (function () { throw new RuntimeError('Variable "attribute" does not exist.', 388, $this->source); })()), "type", [], "any", false, false, false, 388) == "string")) {
// line 389
echo " ";
echo twig_escape_filter($this->env, (isset($context["attribute"]) || array_key_exists("attribute", $context) ? $context["attribute"] : (function () { throw new RuntimeError('Variable "attribute" does not exist.', 389, $this->source); })()), "html", null, true);
echo "
";
} else {
// line 391
echo " ";
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, (isset($context["attribute"]) || array_key_exists("attribute", $context) ? $context["attribute"] : (function () { throw new RuntimeError('Variable "attribute" does not exist.', 391, $this->source); })()));
echo "
";
}
// line 393
echo " ";
} else {
// line 394
echo " ";
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["decision"], "attributes", [], "any", false, false, false, 394));
echo "
";
}
// line 396
echo " </td>
<td>";
// line 397
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["decision"], "seek", ["object"], "method", false, false, false, 397));
echo "</td>
</tr>
<tr class=\"voter_details\">
<td></td>
<td colspan=\"3\">
";
// line 402
if ( !twig_test_empty(twig_get_attribute($this->env, $this->source, $context["decision"], "voter_details", [], "any", false, false, false, 402))) {
// line 403
echo " ";
$context["voter_details_id"] = ("voter-details-" . twig_get_attribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 403));
// line 404
echo " <div id=\"";
echo twig_escape_filter($this->env, (isset($context["voter_details_id"]) || array_key_exists("voter_details_id", $context) ? $context["voter_details_id"] : (function () { throw new RuntimeError('Variable "voter_details_id" does not exist.', 404, $this->source); })()), "html", null, true);
echo "\" class=\"sf-toggle-content sf-toggle-hidden\">
<table>
<tbody>
";
// line 407
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, $context["decision"], "voter_details", [], "any", false, false, false, 407));
foreach ($context['_seq'] as $context["_key"] => $context["voter_detail"]) {
// line 408
echo " <tr>
<td class=\"font-normal\">";
// line 409
echo $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, twig_get_attribute($this->env, $this->source, $context["voter_detail"], "class", [], "array", false, false, false, 409));
echo "</td>
";
// line 410
if ((twig_get_attribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 410, $this->source); })()), "voterStrategy", [], "any", false, false, false, 410) == "unanimous")) {
// line 411
echo " <td class=\"font-normal text-small\">attribute ";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, $context["voter_detail"], "attributes", [], "array", false, false, false, 411), 0, [], "array", false, false, false, 411), "html", null, true);
echo "</td>
";
}
// line 413
echo " <td class=\"font-normal text-small\">
";
// line 414
if ((twig_get_attribute($this->env, $this->source, $context["voter_detail"], "vote", [], "array", false, false, false, 414) == twig_constant("Symfony\\Component\\Security\\Core\\Authorization\\Voter\\VoterInterface::ACCESS_GRANTED"))) {
// line 415
echo " ACCESS GRANTED
";
} elseif ((twig_get_attribute($this->env, $this->source, // line 416
$context["voter_detail"], "vote", [], "array", false, false, false, 416) == twig_constant("Symfony\\Component\\Security\\Core\\Authorization\\Voter\\VoterInterface::ACCESS_ABSTAIN"))) {
// line 417
echo " ACCESS ABSTAIN
";
} elseif ((twig_get_attribute($this->env, $this->source, // line 418
$context["voter_detail"], "vote", [], "array", false, false, false, 418) == twig_constant("Symfony\\Component\\Security\\Core\\Authorization\\Voter\\VoterInterface::ACCESS_DENIED"))) {
// line 419
echo " ACCESS DENIED
";
} else {
// line 421
echo " unknown (";
echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, $context["voter_detail"], "vote", [], "array", false, false, false, 421), "html", null, true);
echo ")
";
}
// line 423
echo " </td>
</tr>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['voter_detail'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 426
echo " </tbody>
</table>
</div>
<a class=\"btn btn-link text-small sf-toggle\" data-toggle-selector=\"#";
// line 429
echo twig_escape_filter($this->env, (isset($context["voter_details_id"]) || array_key_exists("voter_details_id", $context) ? $context["voter_details_id"] : (function () { throw new RuntimeError('Variable "voter_details_id" does not exist.', 429, $this->source); })()), "html", null, true);
echo "\" data-toggle-alt-content=\"Hide voter details\">Show voter details</a>
";
}
// line 431
echo " </td>
</tr>
";
++$context['loop']['index0'];
++$context['loop']['index'];
$context['loop']['first'] = false;
if (isset($context['loop']['length'])) {
--$context['loop']['revindex0'];
--$context['loop']['revindex'];
$context['loop']['last'] = 0 === $context['loop']['revindex0'];
}
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['decision'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 434
echo " </tbody>
</table>
</div>
";
}
// line 438
echo " </div>
</div>
";
}
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
}
public function getTemplateName()
{
return "@Security/Collector/security.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 1059 => 438, 1053 => 434, 1037 => 431, 1032 => 429, 1027 => 426, 1019 => 423, 1013 => 421, 1009 => 419, 1007 => 418, 1004 => 417, 1002 => 416, 999 => 415, 997 => 414, 994 => 413, 988 => 411, 986 => 410, 982 => 409, 979 => 408, 975 => 407, 968 => 404, 965 => 403, 963 => 402, 955 => 397, 952 => 396, 946 => 394, 943 => 393, 937 => 391, 931 => 389, 929 => 388, 924 => 387, 921 => 386, 918 => 385, 916 => 384, 911 => 381, 909 => 378, 904 => 376, 901 => 375, 884 => 374, 864 => 356, 861 => 355, 856 => 352, 839 => 349, 835 => 348, 832 => 347, 815 => 346, 798 => 332, 794 => 330, 792 => 329, 786 => 326, 781 => 323, 775 => 319, 771 => 317, 757 => 316, 753 => 314, 751 => 313, 745 => 310, 741 => 309, 737 => 308, 733 => 307, 729 => 305, 726 => 304, 724 => 303, 720 => 301, 716 => 299, 713 => 298, 710 => 297, 692 => 296, 690 => 295, 678 => 285, 676 => 284, 670 => 281, 665 => 278, 661 => 276, 647 => 275, 643 => 273, 641 => 272, 635 => 269, 631 => 268, 627 => 267, 623 => 265, 620 => 264, 618 => 263, 614 => 261, 610 => 259, 607 => 258, 604 => 257, 586 => 256, 584 => 255, 573 => 246, 567 => 242, 565 => 241, 559 => 238, 554 => 235, 551 => 234, 546 => 231, 540 => 228, 536 => 226, 530 => 223, 526 => 221, 524 => 220, 519 => 218, 512 => 214, 505 => 210, 498 => 206, 491 => 202, 484 => 198, 471 => 187, 469 => 186, 465 => 184, 458 => 180, 455 => 179, 453 => 178, 447 => 175, 440 => 171, 433 => 167, 429 => 165, 427 => 164, 421 => 161, 416 => 158, 410 => 154, 408 => 153, 404 => 151, 398 => 148, 394 => 146, 392 => 145, 389 => 144, 383 => 141, 379 => 139, 377 => 138, 372 => 135, 368 => 133, 366 => 132, 361 => 130, 342 => 114, 334 => 109, 330 => 107, 328 => 106, 321 => 102, 318 => 101, 316 => 100, 313 => 99, 303 => 98, 289 => 93, 284 => 92, 274 => 91, 261 => 87, 258 => 86, 254 => 84, 248 => 80, 245 => 79, 240 => 76, 234 => 74, 232 => 73, 228 => 72, 223 => 69, 221 => 68, 218 => 67, 212 => 64, 208 => 62, 206 => 61, 203 => 60, 196 => 55, 190 => 52, 183 => 47, 177 => 44, 173 => 43, 170 => 42, 168 => 41, 163 => 40, 161 => 39, 150 => 33, 142 => 28, 138 => 26, 135 => 25, 133 => 24, 129 => 22, 122 => 18, 117 => 15, 114 => 14, 112 => 13, 109 => 12, 104 => 10, 99 => 9, 96 => 8, 93 => 7, 90 => 6, 80 => 5, 61 => 3, 38 => 1,);
}
public function getSourceContext()
{
return new Source("{% extends '@WebProfiler/Profiler/layout.html.twig' %}
{% block page_title 'Security' %}
{% block toolbar %}
{% if collector.firewall %}
{% set color_code = collector.enabled and not collector.authenticatorManagerEnabled ? 'yellow' %}
{% set icon %}
{{ include('@Security/Collector/icon.svg') }}
<span class=\"sf-toolbar-value\">{{ collector.user|default('n/a') }}</span>
{% endset %}
{% set text %}
{% if collector.impersonated %}
<div class=\"sf-toolbar-info-group\">
<div class=\"sf-toolbar-info-piece\">
<b>Impersonator</b>
<span>{{ collector.impersonatorUser }}</span>
</div>
</div>
{% endif %}
<div class=\"sf-toolbar-info-group\">
{% if collector.enabled %}
{% if collector.token %}
<div class=\"sf-toolbar-info-piece\">
<b>Logged in as</b>
<span>{{ collector.user }}</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-{{ collector.authenticated ? 'green' : 'yellow' }}\">{{ collector.authenticated ? 'Yes' : 'No' }}</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Roles</b>
<span>
{% set remainingRoles = collector.roles|slice(1) %}
{{ collector.roles|first }}
{% if remainingRoles is not empty %}
+
<abbr title=\"{{ remainingRoles|join(', ') }}\">
{{ remainingRoles|length }} more
</abbr>
{% endif %}
</span>
</div>
<div class=\"sf-toolbar-info-piece\">
<b>Token class</b>
<span>{{ collector.tokenClass|abbr_class }}</span>
</div>
{% else %}
<div class=\"sf-toolbar-info-piece\">
<b>Authenticated</b>
<span class=\"sf-toolbar-status sf-toolbar-status-yellow\">No</span>
</div>
{% endif %}
{% if collector.firewall %}
<div class=\"sf-toolbar-info-piece\">
<b>Firewall name</b>
<span>{{ collector.firewall.name }}</span>
</div>
{% endif %}
{% if collector.token and collector.logoutUrl %}
<div class=\"sf-toolbar-info-piece\">
<b>Actions</b>
<span>
<a href=\"{{ collector.logoutUrl }}\">Logout</a>
{% if collector.impersonated and collector.impersonationExitPath %}
| <a href=\"{{ collector.impersonationExitPath }}\">Exit impersonation</a>
{% endif %}
</span>
</div>
{% endif %}
{% else %}
<div class=\"sf-toolbar-info-piece\">
<span>The security is disabled.</span>
</div>
{% endif %}
</div>
{% endset %}
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url, status: color_code }) }}
{% endif %}
{% endblock %}
{% block menu %}
<span class=\"label {{ not collector.firewall or not collector.token ? 'disabled' }}\">
<span class=\"icon\">{{ include('@Security/Collector/icon.svg') }}</span>
<strong>Security</strong>
</span>
{% endblock %}
{% block panel %}
<h2>Security</h2>
{% if collector.enabled %}
<div class=\"sf-tabs\">
<div class=\"tab {{ collector.token is empty ? 'disabled' }}\">
<h3 class=\"tab-title\">Token</h3>
<div class=\"tab-content\">
{% if collector.token %}
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.user == 'anon.' ? 'Anonymous' : collector.user }}</span>
<span class=\"label\">Username</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.authenticated ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Authenticated</span>
</div>
</div>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Property</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>Roles</th>
<td>
{{ collector.roles is empty ? 'none' : profiler_dump(collector.roles, maxDepth=1) }}
{% if not collector.authenticated and collector.roles is empty %}
<p class=\"help\">User is not authenticated probably because they have no roles.</p>
{% endif %}
</td>
</tr>
{% if collector.supportsRoleHierarchy %}
<tr>
<th>Inherited Roles</th>
<td>{{ collector.inheritedRoles is empty ? 'none' : profiler_dump(collector.inheritedRoles, maxDepth=1) }}</td>
</tr>
{% endif %}
{% if collector.token %}
<tr>
<th>Token</th>
<td>{{ profiler_dump(collector.token) }}</td>
</tr>
{% endif %}
</tbody>
</table>
{% elseif collector.enabled %}
<div class=\"empty\">
<p>There is no security token.</p>
</div>
{% endif %}
</div>
</div>
<div class=\"tab {{ collector.firewall.security_enabled is empty ? 'disabled' }}\">
<h3 class=\"tab-title\">Firewall</h3>
<div class=\"tab-content\">
{% if collector.firewall %}
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.firewall.name }}</span>
<span class=\"label\">Name</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.security_enabled ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Security enabled</span>
</div>
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.stateless ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Stateless</span>
</div>
{% if collector.authenticatorManagerEnabled == false %}
<div class=\"metric\">
<span class=\"value\">{{ include('@WebProfiler/Icon/' ~ (collector.firewall.allows_anonymous ? 'yes' : 'no') ~ '.svg') }}</span>
<span class=\"label\">Allows anonymous</span>
</div>
{% endif %}
</div>
{% if collector.firewall.security_enabled %}
<h4>Configuration</h4>
<table>
<thead>
<tr>
<th scope=\"col\" class=\"key\">Key</th>
<th scope=\"col\">Value</th>
</tr>
</thead>
<tbody>
<tr>
<th>provider</th>
<td>{{ collector.firewall.provider ?: '(none)' }}</td>
</tr>
<tr>
<th>context</th>
<td>{{ collector.firewall.context ?: '(none)' }}</td>
</tr>
<tr>
<th>entry_point</th>
<td>{{ collector.firewall.entry_point ?: '(none)' }}</td>
</tr>
<tr>
<th>user_checker</th>
<td>{{ collector.firewall.user_checker ?: '(none)' }}</td>
</tr>
<tr>
<th>access_denied_handler</th>
<td>{{ collector.firewall.access_denied_handler ?: '(none)' }}</td>
</tr>
<tr>
<th>access_denied_url</th>
<td>{{ collector.firewall.access_denied_url ?: '(none)' }}</td>
</tr>
{% if collector.authenticatorManagerEnabled %}
<tr>
<th>authenticators</th>
<td>{{ collector.firewall.authenticators is empty ? '(none)' : profiler_dump(collector.firewall.authenticators, maxDepth=1) }}</td>
</tr>
{% else %}
<tr>
<th>listeners</th>
<td>{{ collector.firewall.listeners is empty ? '(none)' : profiler_dump(collector.firewall.listeners, maxDepth=1) }}</td>
</tr>
{% endif %}
</tbody>
</table>
{% endif %}
{% endif %}
</div>
</div>
<div class=\"tab {{ collector.listeners|default([]) is empty ? 'disabled' }}\">
<h3 class=\"tab-title\">Listeners</h3>
<div class=\"tab-content\">
{% if collector.listeners|default([]) is empty %}
<div class=\"empty\">
<p>No security listeners have been recorded. Check that debugging is enabled in the kernel.</p>
</div>
{% else %}
<table>
<thead>
<tr>
<th>Listener</th>
<th>Duration</th>
<th>Response</th>
</tr>
</thead>
{% set previous_event = (collector.listeners|first) %}
{% for listener in collector.listeners %}
{% if loop.first or listener != previous_event %}
{% if not loop.first %}
</tbody>
{% endif %}
<tbody>
{% set previous_event = listener %}
{% endif %}
<tr>
<td class=\"font-normal\">{{ profiler_dump(listener.stub) }}</td>
<td class=\"no-wrap\">{{ '%0.2f'|format(listener.time * 1000) }} ms</td>
<td class=\"font-normal\">{{ listener.response ? profiler_dump(listener.response) : '(none)' }}</td>
</tr>
{% if loop.last %}
</tbody>
{% endif %}
{% endfor %}
</table>
{% endif %}
</div>
</div>
<div class=\"tab {{ collector.authenticators|default([]) is empty ? 'disabled' }}\">
<h3 class=\"tab-title\">Authenticators</h3>
<div class=\"tab-content\">
{% if collector.authenticators|default([]) is not empty %}
<table>
<thead>
<tr>
<th>Authenticator</th>
<th>Supports</th>
<th>Duration</th>
<th>Passport</th>
</tr>
</thead>
{% set previous_event = (collector.listeners|first) %}
{% for authenticator in collector.authenticators %}
{% if loop.first or authenticator != previous_event %}
{% if not loop.first %}
</tbody>
{% endif %}
<tbody>
{% set previous_event = authenticator %}
{% endif %}
<tr>
<td class=\"font-normal\">{{ profiler_dump(authenticator.stub) }}</td>
<td class=\"no-wrap\">{{ include('@WebProfiler/Icon/' ~ (authenticator.supports ? 'yes' : 'no') ~ '.svg') }}</td>
<td class=\"no-wrap\">{{ '%0.2f'|format(authenticator.duration * 1000) }} ms</td>
<td class=\"font-normal\">{{ authenticator.passport ? profiler_dump(authenticator.passport) : '(none)' }}</td>
</tr>
{% if loop.last %}
</tbody>
{% endif %}
{% endfor %}
</table>
{% else %}
<div class=\"empty\">
<p>No authenticators have been recorded. Check previous profiles on your authentication endpoint.</p>
</div>
{% endif %}
</div>
</div>
<div class=\"tab {{ collector.accessDecisionLog|default([]) is empty ? 'disabled' }}\">
<h3 class=\"tab-title\">Access Decision</h3>
<div class=\"tab-content\">
{% if collector.voters|default([]) is not empty %}
<div class=\"metrics\">
<div class=\"metric\">
<span class=\"value\">{{ collector.voterStrategy|default('unknown') }}</span>
<span class=\"label\">Strategy</span>
</div>
</div>
<table class=\"voters\">
<thead>
<tr>
<th>#</th>
<th>Voter class</th>
</tr>
</thead>
<tbody>
{% for voter in collector.voters %}
<tr>
<td class=\"font-normal text-small text-muted nowrap\">{{ loop.index }}</td>
<td class=\"font-normal\">{{ profiler_dump(voter) }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
{% if collector.accessDecisionLog|default([]) is not empty %}
<h2>Access decision log</h2>
<table class=\"decision-log\">
<col style=\"width: 30px\">
<col style=\"width: 120px\">
<col style=\"width: 25%\">
<col style=\"width: 60%\">
<thead>
<tr>
<th>#</th>
<th>Result</th>
<th>Attributes</th>
<th>Object</th>
</tr>
</thead>
<tbody>
{% for decision in collector.accessDecisionLog %}
<tr class=\"voter_result\">
<td class=\"font-normal text-small text-muted nowrap\">{{ loop.index }}</td>
<td class=\"font-normal\">
{{ decision.result
? '<span class=\"label status-success same-width\">GRANTED</span>'
: '<span class=\"label status-error same-width\">DENIED</span>'
}}
</td>
<td>
{% if decision.attributes|length == 1 %}
{% set attribute = decision.attributes|first %}
{% if attribute.expression is defined %}
Expression: <pre><code>{{ attribute.expression }}</code></pre>
{% elseif attribute.type == 'string' %}
{{ attribute }}
{% else %}
{{ profiler_dump(attribute) }}
{% endif %}
{% else %}
{{ profiler_dump(decision.attributes) }}
{% endif %}
</td>
<td>{{ profiler_dump(decision.seek('object')) }}</td>
</tr>
<tr class=\"voter_details\">
<td></td>
<td colspan=\"3\">
{% if decision.voter_details is not empty %}
{% set voter_details_id = 'voter-details-' ~ loop.index %}
<div id=\"{{ voter_details_id }}\" class=\"sf-toggle-content sf-toggle-hidden\">
<table>
<tbody>
{% for voter_detail in decision.voter_details %}
<tr>
<td class=\"font-normal\">{{ profiler_dump(voter_detail['class']) }}</td>
{% if collector.voterStrategy == 'unanimous' %}
<td class=\"font-normal text-small\">attribute {{ voter_detail['attributes'][0] }}</td>
{% endif %}
<td class=\"font-normal text-small\">
{% if voter_detail['vote'] == constant('Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\VoterInterface::ACCESS_GRANTED') %}
ACCESS GRANTED
{% elseif voter_detail['vote'] == constant('Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\VoterInterface::ACCESS_ABSTAIN') %}
ACCESS ABSTAIN
{% elseif voter_detail['vote'] == constant('Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\VoterInterface::ACCESS_DENIED') %}
ACCESS DENIED
{% else %}
unknown ({{ voter_detail['vote'] }})
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<a class=\"btn btn-link text-small sf-toggle\" data-toggle-selector=\"#{{ voter_details_id }}\" data-toggle-alt-content=\"Hide voter details\">Show voter details</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% endblock %}
", "@Security/Collector/security.html.twig", "/var/www/php81/fpd.in.openform.pl/vendor/symfony/security-bundle/Resources/views/Collector/security.html.twig");
}
}