From 7cb9f3e5e5ad957da53ac78ba514406be5aa21cb Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 6 Jan 2017 10:27:30 +0100 Subject: [PATCH] Updated quickly README.md Corrected searchbar css Added PDO timeout --- README.md | 25 +- build/database/core/DatabaseDriver.php | 3 +- config/database-driver.json | 4 +- public_html/css/container.scss | 2 +- public_html/css/min/container.css | 556 ++++++++++++++++++++++++- public_html/index.php | 6 +- public_html/src/logauth.ico | Bin 7 files changed, 585 insertions(+), 11 deletions(-) mode change 100644 => 100755 public_html/src/logauth.ico diff --git a/README.md b/README.md index a051149..e95d3ed 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,23 @@ -# stef -Personal project +```yaml +project: LogAuth +version: 2.0-1 +developers: + - xdrm-brackets +``` + +#### Introduction +This project's aim is to help manage any kind of set of resources. For instance it could manage machines in a park, doors in a hotel, cars in a company park, etc. + +The main functionalities are to : +1. Identify each user with a RFID card. +2. Give access or not to these resources. +3. Log every access to resources. + + +#### System elements +The system contains 2 types of elements: +- SMMP (Secure Management and Monitoring Platform) +- SATS (Secure Authentication and Tracking System) + + + diff --git a/build/database/core/DatabaseDriver.php b/build/database/core/DatabaseDriver.php index a82218d..929551b 100755 --- a/build/database/core/DatabaseDriver.php +++ b/build/database/core/DatabaseDriver.php @@ -58,7 +58,8 @@ try{ - $this->pdo = new \PDO('mysql:host='.$this->host.';dbname='.$this->dbname, $this->username, $this->password); + // create instance with arguments + 10sec timeout + $this->pdo = new \PDO('mysql:host='.$this->host.';dbname='.$this->dbname, $this->username, $this->password, [\PDO::ATTR_TIMEOUT => 10]); // On signale que tout s'est bien passe $this->error = Error::Success; diff --git a/config/database-driver.json b/config/database-driver.json index b3572e2..9628d15 100755 --- a/config/database-driver.json +++ b/config/database-driver.json @@ -3,8 +3,8 @@ "local": { "host" : "localhost", "dbname" : "logauth", - "user" : "php", - "password" : "Qt358nUdyeTxLDM8" + "user" : "php-logauth", + "password" : "rdwVw7n3b4F6t3hp3HMnEfsa" }, "remote": { "host" : "xdrm.io", diff --git a/public_html/css/container.scss b/public_html/css/container.scss index ea4e771..f32f542 100755 --- a/public_html/css/container.scss +++ b/public_html/css/container.scss @@ -32,7 +32,7 @@ position: relative; // width: calc( 100% - 2*1em - 2*1em ); flex: calc( 100% - 2*1em - 2*1em ); - height: 1em; + // height: 1em; margin: 1em; padding: .5em 1em; padding-left: 2em; diff --git a/public_html/css/min/container.css b/public_html/css/min/container.css index c623ed2..881c609 100755 --- a/public_html/css/min/container.css +++ b/public_html/css/min/container.css @@ -1,3 +1,555 @@ -#WRAPPER>#CONTAINER>section{display:none;flex-grow:1}#WRAPPER>#CONTAINER>section.active{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap}#WRAPPER>#CONTAINER>section.active .inline-box{flex:0 0 1}#WRAPPER>#CONTAINER>section.active .inline-row{flex:3em 0 1}#WRAPPER>#CONTAINER>section.active .searchbar{display:inline-block;position:relative;flex:calc( 100% - 2*1em - 2*1em);height:1em;margin:1em;padding:.5em 1em;padding-left:2em;border-radius:3px;border:1px solid #b1b1b1;background:#fff url("/src/static/sub-menu-side/search@b1b1b1.svg") 0.5em center no-repeat;background-size:1em;transition:border .4s ease-in-out}#WRAPPER>#CONTAINER>section.active .searchbar:hover,#WRAPPER>#CONTAINER>section.active .searchbar:focus{border-color:#5630ed}#WRAPPER>#CONTAINER>section.active .error{display:inline-block;position:relative;width:calc( 100% - 2*1em - 2*1em);height:1em;margin:1em;padding:1em;border-radius:3px;border:1px solid #d52918;background:#d52918;color:#fff;text-shadow:1px 1px #a72013}#WRAPPER>#CONTAINER>section>.inline-box,#WRAPPER>#CONTAINER>section>.inline-row{display:inline-block;position:relative;flex:calc( 50% - 2*1em - 2*1em);margin:1em;padding:1em;border-radius:3px;box-shadow:0 0 1px #b7b7b7;background-color:#fff}#WRAPPER>#CONTAINER>section>.inline-box.hidden,#WRAPPER>#CONTAINER>section>.inline-row.hidden{display:none}#WRAPPER>#CONTAINER>section>.inline-box a,#WRAPPER>#CONTAINER>section>.inline-row a{text-decoration:none;color:inherit}#WRAPPER>#CONTAINER>section>.inline-box.selected,#WRAPPER>#CONTAINER>section>.inline-row.selected{border:1px solid #7362ff;transition:box-shadow .2s ease-in-out}#WRAPPER>#CONTAINER>section>.inline-box.selected:hover,#WRAPPER>#CONTAINER>section>.inline-row.selected:hover{box-shadow:2px 2px 7px #aaa}#WRAPPER>#CONTAINER>section>.inline-box .title,#WRAPPER>#CONTAINER>section>.inline-row .title{display:inline-block;font-size:1.15em;font-weight:bold;color:#ea4c06;white-space:nowrap}#WRAPPER>#CONTAINER>section>.inline-box .title>span,#WRAPPER>#CONTAINER>section>.inline-row .title>span{font-size:.8em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .code,#WRAPPER>#CONTAINER>section>.inline-box .mail,#WRAPPER>#CONTAINER>section>.inline-row .code,#WRAPPER>#CONTAINER>section>.inline-row .mail{display:block;margin:1em;color:#333;white-space:nowrap}#WRAPPER>#CONTAINER>section>.inline-box .code svg,#WRAPPER>#CONTAINER>section>.inline-box .mail svg,#WRAPPER>#CONTAINER>section>.inline-row .code svg,#WRAPPER>#CONTAINER>section>.inline-row .mail svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .code svg path#stylisable,#WRAPPER>#CONTAINER>section>.inline-box .mail svg path#stylisable,#WRAPPER>#CONTAINER>section>.inline-row .code svg path#stylisable,#WRAPPER>#CONTAINER>section>.inline-row .mail svg path#stylisable{fill:#333 !important;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .code svg path#stroke-stylisable,#WRAPPER>#CONTAINER>section>.inline-box .mail svg path#stroke-stylisable,#WRAPPER>#CONTAINER>section>.inline-row .code svg path#stroke-stylisable,#WRAPPER>#CONTAINER>section>.inline-row .mail svg path#stroke-stylisable{stroke:#333 !important;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .groups,#WRAPPER>#CONTAINER>section>.inline-row .groups{display:block;margin:1em;color:#333}#WRAPPER>#CONTAINER>section>.inline-box .groups svg,#WRAPPER>#CONTAINER>section>.inline-row .groups svg{display:inline-block;position:relative;margin-left:.5em;margin-right:.5em;margin-bottom:-.6em;width:1.5em;height:2em;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .groups svg path,#WRAPPER>#CONTAINER>section>.inline-row .groups svg path{fill:#333 !important;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .groups>span,#WRAPPER>#CONTAINER>section>.inline-row .groups>span{display:inline-block;position:relative;padding:.1em .5em;margin-right:calc( .4em + 2em);margin-bottom:.5em;border-radius:3px 0 0 3px;border:1px solid #bdbdbd;box-shadow:inset 0 0 2px #fafafa;background-color:#f9f9f9;color:#333;cursor:default}#WRAPPER>#CONTAINER>section>.inline-box .groups>span.add-group,#WRAPPER>#CONTAINER>section>.inline-box .groups>span.add-member,#WRAPPER>#CONTAINER>section>.inline-row .groups>span.add-group,#WRAPPER>#CONTAINER>section>.inline-row .groups>span.add-member{border-radius:3px;cursor:pointer}#WRAPPER>#CONTAINER>section>.inline-box .groups>span>span.rem-group,#WRAPPER>#CONTAINER>section>.inline-box .groups>span>span.rem-member,#WRAPPER>#CONTAINER>section>.inline-row .groups>span>span.rem-group,#WRAPPER>#CONTAINER>section>.inline-row .groups>span>span.rem-member{display:block;position:absolute;top:-1px;left:100%;width:1em;height:calc( 100% - .1em - 2px);padding:.12em .5em;border-radius:0 3px 3px 0;border:1px solid #bdbdbd;box-shadow:inset 0 0 2px #fafafa;background:url("/src/static/sub-menu-side/remove.svg") center center no-repeat;background-size:auto 70%;background-color:#f9f9f9;color:inherit;cursor:pointer}#WRAPPER>#CONTAINER>section>.inline-box .groups>span>span.rem-group:hover,#WRAPPER>#CONTAINER>section>.inline-box .groups>span>span.rem-member:hover,#WRAPPER>#CONTAINER>section>.inline-row .groups>span>span.rem-group:hover,#WRAPPER>#CONTAINER>section>.inline-row .groups>span>span.rem-member:hover{background-image:url("/src/static/sub-menu-side/remove@d52918.svg")}#WRAPPER>#CONTAINER>section>.inline-box .link_edit,#WRAPPER>#CONTAINER>section>.inline-box .link_remove,#WRAPPER>#CONTAINER>section>.inline-row .link_edit,#WRAPPER>#CONTAINER>section>.inline-row .link_remove{display:inline-block;float:right;position:relative;width:1em;height:1em;margin-left:1em;cursor:pointer}#WRAPPER>#CONTAINER>section>.inline-box .link_edit>svg,#WRAPPER>#CONTAINER>section>.inline-box .link_remove>svg,#WRAPPER>#CONTAINER>section>.inline-row .link_edit>svg,#WRAPPER>#CONTAINER>section>.inline-row .link_remove>svg{width:100%;height:100%;fill:#ddd !important;transition:fill .4s ease-in-out;pointer-events:none}#WRAPPER>#CONTAINER>section>.inline-box .link_edit:hover>svg,#WRAPPER>#CONTAINER>section>.inline-box .link_remove:hover>svg,#WRAPPER>#CONTAINER>section>.inline-row .link_edit:hover>svg,#WRAPPER>#CONTAINER>section>.inline-row .link_remove:hover>svg{fill:#2193e6 !important}#WRAPPER>#CONTAINER>section>.inline-box .link_remove:hover>svg,#WRAPPER>#CONTAINER>section>.inline-row .link_remove:hover>svg{fill:#d52918 !important}#WRAPPER>#CONTAINER>section.fstart{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:center}#WRAPPER>#CONTAINER>section.fstart .searchbar{flex:1em 0 0;width:calc( 100% - 3em - 2*2em)}#WRAPPER>#CONTAINER>section>.inline-row{width:calc( 100% - 4em - 2*1em);display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;overflow:hidden}#WRAPPER>#CONTAINER>section>.inline-row>span{display:flex;flex-direction:column;justify-content:space-around;flex:100% 1 1;border-left:1px solid #ddd;text-align:center}#WRAPPER>#CONTAINER>section>.inline-row>span:first-child{border-left:0}#WRAPPER>#CONTAINER>section>.inline-row button{flex:auto;width:5em}#WRAPPER>#CONTAINER>section>form,#WRAPPER>#CONTAINER .form{display:inline-block;position:relative;left:50%;margin:.3em 0;padding:1em;border-radius:3px;border-color:#d52918;box-shadow:0 0 1px #b7b7b7;background-color:#fff;transform:translateX(-50%)}#WRAPPER>#CONTAINER>section>form.valid,#WRAPPER>#CONTAINER .form.valid{border-color:#27a560}#WRAPPER>#CONTAINER>section>form.neutral,#WRAPPER>#CONTAINER .form.neutral{border-color:#2193e6}#WRAPPER>#CONTAINER>section>form.search,#WRAPPER>#CONTAINER .form.search{border-color:#2193e6}#WRAPPER>#CONTAINER>section>form .edit_search_view,#WRAPPER>#CONTAINER>section>form .remove_search_view,#WRAPPER>#CONTAINER .form .edit_search_view,#WRAPPER>#CONTAINER .form .remove_search_view{display:inline-block;width:100%;text-align:center;color:#aaaaaa}#WRAPPER>#CONTAINER>section>form .edit_search_view span,#WRAPPER>#CONTAINER>section>form .remove_search_view span,#WRAPPER>#CONTAINER .form .edit_search_view span,#WRAPPER>#CONTAINER .form .remove_search_view span{color:#888888}#WRAPPER>#CONTAINER input[type=text],#WRAPPER>#CONTAINER input[type=mail],#WRAPPER>#CONTAINER input[type=password],#WRAPPER>#CONTAINER select,#WRAPPER>#CONTAINER.invalid>input[type=text],#WRAPPER>#CONTAINER.invalid>input[type=mail],#WRAPPER>#CONTAINER.invalid>input[type=password],#WRAPPER>#CONTAINER.invalid>select,#WRAPPER>#CONTAINER input.invalid[type=text],#WRAPPER>#CONTAINER input.invalid[type=mail],#WRAPPER>#CONTAINER input.invalid[type=password],#WRAPPER>#CONTAINER select.invalid{display:inline-block;margin:1em 0;padding:.7em 1em;border-radius:3px;border:1px solid #d7dde8;color:#2f3033;transition:border .4s ease-in-out}#WRAPPER>#CONTAINER input[type=text]:focus,#WRAPPER>#CONTAINER input[type=text]:hover,#WRAPPER>#CONTAINER input[type=mail]:focus,#WRAPPER>#CONTAINER input[type=mail]:hover,#WRAPPER>#CONTAINER input[type=password]:focus,#WRAPPER>#CONTAINER input[type=password]:hover,#WRAPPER>#CONTAINER select:focus,#WRAPPER>#CONTAINER select:hover,#WRAPPER>#CONTAINER.invalid>input[type=text]:focus,#WRAPPER>#CONTAINER.invalid>input[type=text]:hover,#WRAPPER>#CONTAINER.invalid>input[type=mail]:focus,#WRAPPER>#CONTAINER.invalid>input[type=mail]:hover,#WRAPPER>#CONTAINER.invalid>input[type=password]:focus,#WRAPPER>#CONTAINER.invalid>input[type=password]:hover,#WRAPPER>#CONTAINER.invalid>select:focus,#WRAPPER>#CONTAINER.invalid>select:hover,#WRAPPER>#CONTAINER input.invalid[type=text]:focus,#WRAPPER>#CONTAINER input.invalid[type=text]:hover,#WRAPPER>#CONTAINER input.invalid[type=mail]:focus,#WRAPPER>#CONTAINER input.invalid[type=mail]:hover,#WRAPPER>#CONTAINER input.invalid[type=password]:focus,#WRAPPER>#CONTAINER input.invalid[type=password]:hover,#WRAPPER>#CONTAINER select.invalid:focus,#WRAPPER>#CONTAINER select.invalid:hover{border-color:#d52918}#WRAPPER>#CONTAINER select{width:100%;display:block;background:#fff}#WRAPPER>#CONTAINER select option{padding:.5em}#WRAPPER>#CONTAINER .valid>input[type=text]:focus,#WRAPPER>#CONTAINER .valid>input[type=text]:hover,#WRAPPER>#CONTAINER .valid>input[type=mail]:focus,#WRAPPER>#CONTAINER .valid>input[type=mail]:hover,#WRAPPER>#CONTAINER .valid>input[type=password]:focus,#WRAPPER>#CONTAINER .valid>input[type=password]:hover,#WRAPPER>#CONTAINER .valid>select:focus,#WRAPPER>#CONTAINER .valid>select:hover,#WRAPPER>#CONTAINER input.valid[type=text]:focus,#WRAPPER>#CONTAINER input.valid[type=text]:hover,#WRAPPER>#CONTAINER input.valid[type=mail]:focus,#WRAPPER>#CONTAINER input.valid[type=mail]:hover,#WRAPPER>#CONTAINER input.valid[type=password]:focus,#WRAPPER>#CONTAINER input.valid[type=password]:hover,#WRAPPER>#CONTAINER select.valid:focus,#WRAPPER>#CONTAINER select.valid:hover{border-color:#27a560}#WRAPPER>#CONTAINER .neutral>input[type=text]:focus,#WRAPPER>#CONTAINER .neutral>input[type=text]:hover,#WRAPPER>#CONTAINER .neutral>input[type=mail]:focus,#WRAPPER>#CONTAINER .neutral>input[type=mail]:hover,#WRAPPER>#CONTAINER .neutral>input[type=password]:focus,#WRAPPER>#CONTAINER .neutral>input[type=password]:hover,#WRAPPER>#CONTAINER .neutral>select:focus,#WRAPPER>#CONTAINER .neutral>select:hover,#WRAPPER>#CONTAINER input.neutral[type=text]:focus,#WRAPPER>#CONTAINER input.neutral[type=text]:hover,#WRAPPER>#CONTAINER input.neutral[type=mail]:focus,#WRAPPER>#CONTAINER input.neutral[type=mail]:hover,#WRAPPER>#CONTAINER input.neutral[type=password]:focus,#WRAPPER>#CONTAINER input.neutral[type=password]:hover,#WRAPPER>#CONTAINER select.neutral:focus,#WRAPPER>#CONTAINER select.neutral:hover{border-color:#2193e6}#WRAPPER>#CONTAINER .search>input[type=text]:focus,#WRAPPER>#CONTAINER .search>input[type=text]:hover,#WRAPPER>#CONTAINER .search>input[type=mail]:focus,#WRAPPER>#CONTAINER .search>input[type=mail]:hover,#WRAPPER>#CONTAINER .search>input[type=password]:focus,#WRAPPER>#CONTAINER .search>input[type=password]:hover,#WRAPPER>#CONTAINER .search>select:focus,#WRAPPER>#CONTAINER .search>select:hover,#WRAPPER>#CONTAINER input.search[type=text]:focus,#WRAPPER>#CONTAINER input.search[type=text]:hover,#WRAPPER>#CONTAINER input.search[type=mail]:focus,#WRAPPER>#CONTAINER input.search[type=mail]:hover,#WRAPPER>#CONTAINER input.search[type=password]:focus,#WRAPPER>#CONTAINER input.search[type=password]:hover{border-color:#5630ed}#WRAPPER>#CONTAINER button,#WRAPPER>#CONTAINER button.invalid,#WRAPPER>#CONTAINER .invalid>button{display:inline-block;position:relative;left:50%;padding:.7em 1em;border-radius:3px;border:1px solid #d52918;background:#d52918 center center no-repeat;color:#fff;transition:background .4s ease-in-out;transform:translateX(-50%)}#WRAPPER>#CONTAINER button:hover,#WRAPPER>#CONTAINER button:focus,#WRAPPER>#CONTAINER button:disabled,#WRAPPER>#CONTAINER button.invalid:hover,#WRAPPER>#CONTAINER button.invalid:focus,#WRAPPER>#CONTAINER button.invalid:disabled,#WRAPPER>#CONTAINER .invalid>button:hover,#WRAPPER>#CONTAINER .invalid>button:focus,#WRAPPER>#CONTAINER .invalid>button:disabled{background-color:#fff;color:#d52918}#WRAPPER>#CONTAINER button.valid,#WRAPPER>#CONTAINER .valid>button{border-color:#27a560;background-color:#27a560}#WRAPPER>#CONTAINER button.valid:hover,#WRAPPER>#CONTAINER button.valid:focus,#WRAPPER>#CONTAINER button.valid:disabled,#WRAPPER>#CONTAINER .valid>button:hover,#WRAPPER>#CONTAINER .valid>button:focus,#WRAPPER>#CONTAINER .valid>button:disabled{background-color:#fff;color:#27a560}#WRAPPER>#CONTAINER button.neutral,#WRAPPER>#CONTAINER .neutral>button{border-color:#2193e6;background-color:#2193e6}#WRAPPER>#CONTAINER button.neutral:hover,#WRAPPER>#CONTAINER button.neutral:focus,#WRAPPER>#CONTAINER button.neutral:disabled,#WRAPPER>#CONTAINER .neutral>button:hover,#WRAPPER>#CONTAINER .neutral>button:focus,#WRAPPER>#CONTAINER .neutral>button:disabled{background-color:#fff;color:#2193e6}#WRAPPER>#CONTAINER button.search,#WRAPPER>#CONTAINER .search>button{border-color:#5630ed;background-color:#5630ed}#WRAPPER>#CONTAINER button.search:hover,#WRAPPER>#CONTAINER button.search:focus,#WRAPPER>#CONTAINER button.search:disabled,#WRAPPER>#CONTAINER .search>button:hover,#WRAPPER>#CONTAINER .search>button:focus,#WRAPPER>#CONTAINER .search>button:disabled{background-color:#fff;color:#5630ed}#WRAPPER>#CONTAINER .invalid>button.active,#WRAPPER>#CONTAINER button.invalid.active,#WRAPPER>#CONTAINER button.active{background-color:#fff;background-image:url("/src/static/container/active@d52918.svg") !important;background-size:1em auto;color:transparent !important}#WRAPPER>#CONTAINER button.valid.active,#WRAPPER>#CONTAINER .valid>button.active{background-image:url("/src/static/container/active@27a560.svg") !important}#WRAPPER>#CONTAINER button.neutral.active,#WRAPPER>#CONTAINER .neutral>button.active{background-image:url("/src/static/container/active@2193e6.svg") !important}#WRAPPER>#CONTAINER button.search.active,#WRAPPER>#CONTAINER .search>button.active{background-image:url("/src/static/container/active@5630ed.svg") !important}#WRAPPER>#CONTAINER hr.OR[data-label]{display:block;position:relative;width:100%;height:0;border:0;border-bottom:1px dashed #d52918}#WRAPPER>#CONTAINER hr.OR[data-label]:before{content:attr(data-label);display:inline-block;position:relative;top:50%;left:50%;padding:0 1em;background-color:#fff;color:#d52918;transform:translateX(-50%) translatey(-50%)}#WRAPPER>#CONTAINER .valid>hr.OR,#WRAPPER>#CONTAINER hr.OR.valid{border-bottom:1px dashed #27a560}#WRAPPER>#CONTAINER .valid>hr.OR:before,#WRAPPER>#CONTAINER hr.OR.valid:before{color:#27a560}#WRAPPER>#CONTAINER .neutral>hr.OR,#WRAPPER>#CONTAINER hr.OR.neutral{border-bottom:1px dashed #2193e6}#WRAPPER>#CONTAINER .neutral>hr.OR:before,#WRAPPER>#CONTAINER hr.OR.neutral:before{color:#2193e6}#WRAPPER>#CONTAINER .search>hr.OR,#WRAPPER>#CONTAINER hr.OR.search{border-bottom:1px dashed #5630ed}#WRAPPER>#CONTAINER .search>hr.OR:before,#WRAPPER>#CONTAINER hr.OR.search:before{color:#5630ed}article.check-table{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;border-radius:3px;border:1px solid #ddd}article.check-table>div{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;flex:100%;padding:.8em 0;color:#333;background:#f8f8f8;border-bottom:1px solid #eee;transition:background .2s ease-in-out;overflow:hidden}article.check-table>div:nth-child(2n){background:#fdfdfd}article.check-table>div>span{flex:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center}article.check-table>div>span input[type='checkbox']{display:none}article.check-table>div>span input[type='checkbox']+label[for]{display:inline-block;position:absolute;width:1.2em;height:1.2em;background:url("/src/static/container/checkbox.svg") center center no-repeat;background-size:100% auto;transition:box-shadow .2s ease-in-out;cursor:pointer}article.check-table>div>span input[type='checkbox']:checked+label[for]{background-image:url("/src/static/container/checkbox@checked.svg")} +@charset "UTF-8"; +/* COULEUR DU THEME */ +/* COULEUR DU SOUS-MENU */ +/* COULEUR DES ERREURS */ +/* FORMULAIRES */ +/* GESTION DES LONGUEURS */ +#WRAPPER > #CONTAINER { + /* [1] Section (contenu) + =========================================================*/ + /* [2] INLINE-BOX pour afficher les listes de donnees + =========================================================*/ + /* [2-2] INLINE-ROW pour afficher des lignes + =========================================================*/ + /* [3] Formulaires + =========================================================*/ + /* (1) Champs de texte */ + /* (2) Boutons */ +} +#WRAPPER > #CONTAINER > section { + display: none; + flex-grow: 1; +} +#WRAPPER > #CONTAINER > section.active { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: flex-start; + flex-wrap: wrap; +} +#WRAPPER > #CONTAINER > section.active .inline-box { + flex: 0 0 1; +} +#WRAPPER > #CONTAINER > section.active .inline-row { + flex: 3em 0 1; +} +#WRAPPER > #CONTAINER > section.active .searchbar { + display: inline-block; + position: relative; + flex: calc( 100% - 2*1em - 2*1em ); + margin: 1em; + padding: .5em 1em; + padding-left: 2em; + border-radius: 3px; + border: 1px solid #b1b1b1; + background: #fff url("/src/static/sub-menu-side/search@b1b1b1.svg") 0.5em center no-repeat; + background-size: 1em; + transition: border .4s ease-in-out; +} +#WRAPPER > #CONTAINER > section.active .searchbar:hover, #WRAPPER > #CONTAINER > section.active .searchbar:focus { + border-color: #5630ed; +} +#WRAPPER > #CONTAINER > section.active .error { + display: inline-block; + position: relative; + width: calc( 100% - 2*1em - 2*1em ); + height: 1em; + margin: 1em; + padding: 1em; + border-radius: 3px; + border: 1px solid #d52918; + background: #d52918; + color: #fff; + text-shadow: 1px 1px #a72013; +} +#WRAPPER > #CONTAINER > section > .inline-box, #WRAPPER > #CONTAINER > section > .inline-row { + display: inline-block; + position: relative; + flex: calc( 50% - 2*1em - 2*1em ); + margin: 1em; + padding: 1em; + border-radius: 3px; + box-shadow: 0 0 1px #b7b7b7; + background-color: #fff; + /* (1) Titre de l'element */ + /* (2) Code RFID */ + /* (3) Adresse mail */ + /* (4) Groupes */ + /* (5) Lien vers la modification */ + /* (6) Lien vers la suppression */ +} +#WRAPPER > #CONTAINER > section > .inline-box.hidden, #WRAPPER > #CONTAINER > section > .inline-row.hidden { + display: none; +} +#WRAPPER > #CONTAINER > section > .inline-box a, #WRAPPER > #CONTAINER > section > .inline-row a { + text-decoration: none; + color: inherit; +} +#WRAPPER > #CONTAINER > section > .inline-box.selected, #WRAPPER > #CONTAINER > section > .inline-row.selected { + border: 1px solid #7362ff; + transition: box-shadow .2s ease-in-out; +} +#WRAPPER > #CONTAINER > section > .inline-box.selected:hover, #WRAPPER > #CONTAINER > section > .inline-row.selected:hover { + box-shadow: 2px 2px 7px #aaa; +} +#WRAPPER > #CONTAINER > section > .inline-box .title, #WRAPPER > #CONTAINER > section > .inline-row .title { + display: inline-block; + font-size: 1.15em; + font-weight: bold; + color: #ea4c06; + white-space: nowrap; +} +#WRAPPER > #CONTAINER > section > .inline-box .title > span, #WRAPPER > #CONTAINER > section > .inline-row .title > span { + font-size: .8em; + color: #333; +} +#WRAPPER > #CONTAINER > section > .inline-box .code, +#WRAPPER > #CONTAINER > section > .inline-box .mail, #WRAPPER > #CONTAINER > section > .inline-row .code, +#WRAPPER > #CONTAINER > section > .inline-row .mail { + display: block; + margin: 1em; + color: #333; + white-space: nowrap; +} +#WRAPPER > #CONTAINER > section > .inline-box .code svg, +#WRAPPER > #CONTAINER > section > .inline-box .mail svg, #WRAPPER > #CONTAINER > section > .inline-row .code svg, +#WRAPPER > #CONTAINER > section > .inline-row .mail svg { + display: inline-block; + position: relative; + margin-left: .5em; + margin-right: .5em; + margin-bottom: -.6em; + width: 1.5em; + height: 2em; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stylisable, +#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stylisable, +#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stylisable { + fill: #333 !important; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .code svg path#stroke-stylisable, +#WRAPPER > #CONTAINER > section > .inline-box .mail svg path#stroke-stylisable, #WRAPPER > #CONTAINER > section > .inline-row .code svg path#stroke-stylisable, +#WRAPPER > #CONTAINER > section > .inline-row .mail svg path#stroke-stylisable { + stroke: #333 !important; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups, #WRAPPER > #CONTAINER > section > .inline-row .groups { + display: block; + margin: 1em; + color: #333; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups svg, #WRAPPER > #CONTAINER > section > .inline-row .groups svg { + display: inline-block; + position: relative; + margin-left: .5em; + margin-right: .5em; + margin-bottom: -.6em; + width: 1.5em; + height: 2em; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups svg path, #WRAPPER > #CONTAINER > section > .inline-row .groups svg path { + fill: #333 !important; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups > span, #WRAPPER > #CONTAINER > section > .inline-row .groups > span { + display: inline-block; + position: relative; + padding: .1em .5em; + margin-right: calc( .4em + 2em ); + margin-bottom: .5em; + border-radius: 3px 0 0 3px; + border: 1px solid #bdbdbd; + box-shadow: inset 0 0 2px #fafafa; + background-color: #f9f9f9; + color: #333; + cursor: default; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups > span.add-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span.add-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.add-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span.add-member { + border-radius: 3px; + cursor: pointer; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-box .groups > span > span.rem-member, #WRAPPER > #CONTAINER > section > .inline-row .groups > span > span.rem-group, #WRAPPER > #CONTAINER > section > .inline-row .groups > span > span.rem-member { + display: block; + position: absolute; + top: -1px; + left: 100%; + width: 1em; + height: calc( 100% - .1em - 2px ); + padding: .12em .5em; + border-radius: 0 3px 3px 0; + border: 1px solid #bdbdbd; + box-shadow: inset 0 0 2px #fafafa; + background: url("/src/static/sub-menu-side/remove.svg") center center no-repeat; + background-size: auto 70%; + background-color: #f9f9f9; + color: inherit; + cursor: pointer; +} +#WRAPPER > #CONTAINER > section > .inline-box .groups > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-box .groups > span > span.rem-member:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span > span.rem-group:hover, #WRAPPER > #CONTAINER > section > .inline-row .groups > span > span.rem-member:hover { + background-image: url("/src/static/sub-menu-side/remove@d52918.svg"); +} +#WRAPPER > #CONTAINER > section > .inline-box .link_edit, +#WRAPPER > #CONTAINER > section > .inline-box .link_remove, #WRAPPER > #CONTAINER > section > .inline-row .link_edit, +#WRAPPER > #CONTAINER > section > .inline-row .link_remove { + display: inline-block; + float: right; + position: relative; + width: 1em; + height: 1em; + margin-left: 1em; + cursor: pointer; +} +#WRAPPER > #CONTAINER > section > .inline-box .link_edit > svg, +#WRAPPER > #CONTAINER > section > .inline-box .link_remove > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit > svg, +#WRAPPER > #CONTAINER > section > .inline-row .link_remove > svg { + width: 100%; + height: 100%; + fill: #ddd !important; + transition: fill .4s ease-in-out; + pointer-events: none; +} +#WRAPPER > #CONTAINER > section > .inline-box .link_edit:hover > svg, +#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_edit:hover > svg, +#WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg { + fill: #2193e6 !important; +} +#WRAPPER > #CONTAINER > section > .inline-box .link_remove:hover > svg, #WRAPPER > #CONTAINER > section > .inline-row .link_remove:hover > svg { + fill: #d52918 !important; +} +#WRAPPER > #CONTAINER > section.fstart { + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-items: center; +} +#WRAPPER > #CONTAINER > section.fstart .searchbar { + flex: 1em 0 0; + width: calc( 100% - 3em - 2*2em ); +} +#WRAPPER > #CONTAINER > section > .inline-row { + width: calc( 100% - 4em - 2*1em ); + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + align-items: center; + overflow: hidden; +} +#WRAPPER > #CONTAINER > section > .inline-row > span { + display: flex; + flex-direction: column; + justify-content: space-around; + flex: 100% 1 1; + border-left: 1px solid #ddd; + text-align: center; +} +#WRAPPER > #CONTAINER > section > .inline-row > span:first-child { + border-left: 0; +} +#WRAPPER > #CONTAINER > section > .inline-row button { + flex: auto; + width: 5em; +} +#WRAPPER > #CONTAINER > section > form, #WRAPPER > #CONTAINER .form { + display: inline-block; + position: relative; + left: 50%; + margin: .3em 0; + padding: 1em; + border-radius: 3px; + border-color: #d52918; + box-shadow: 0 0 1px #b7b7b7; + background-color: #fff; + transform: translateX(-50%); +} +#WRAPPER > #CONTAINER > section > form.valid, #WRAPPER > #CONTAINER .form.valid { + border-color: #27a560; +} +#WRAPPER > #CONTAINER > section > form.neutral, #WRAPPER > #CONTAINER .form.neutral { + border-color: #2193e6; +} +#WRAPPER > #CONTAINER > section > form.search, #WRAPPER > #CONTAINER .form.search { + border-color: #2193e6; +} +#WRAPPER > #CONTAINER > section > form .edit_search_view, +#WRAPPER > #CONTAINER > section > form .remove_search_view, #WRAPPER > #CONTAINER .form .edit_search_view, +#WRAPPER > #CONTAINER .form .remove_search_view { + display: inline-block; + width: 100%; + text-align: center; + color: #aaaaaa; +} +#WRAPPER > #CONTAINER > section > form .edit_search_view span, +#WRAPPER > #CONTAINER > section > form .remove_search_view span, #WRAPPER > #CONTAINER .form .edit_search_view span, +#WRAPPER > #CONTAINER .form .remove_search_view span { + color: #888888; +} +#WRAPPER > #CONTAINER input[type=text], +#WRAPPER > #CONTAINER input[type=mail], +#WRAPPER > #CONTAINER input[type=password], +#WRAPPER > #CONTAINER select, #WRAPPER > #CONTAINER.invalid > input[type=text], #WRAPPER > #CONTAINER.invalid > input[type=mail], #WRAPPER > #CONTAINER.invalid > input[type=password], #WRAPPER > #CONTAINER.invalid > select, +#WRAPPER > #CONTAINER input.invalid[type=text], +#WRAPPER > #CONTAINER input.invalid[type=mail], +#WRAPPER > #CONTAINER input.invalid[type=password], +#WRAPPER > #CONTAINER select.invalid { + display: inline-block; + margin: 1em 0; + padding: .7em 1em; + border-radius: 3px; + border: 1px solid #d7dde8; + color: #2f3033; + transition: border .4s ease-in-out; +} +#WRAPPER > #CONTAINER input[type=text]:focus, #WRAPPER > #CONTAINER input[type=text]:hover, +#WRAPPER > #CONTAINER input[type=mail]:focus, +#WRAPPER > #CONTAINER input[type=mail]:hover, +#WRAPPER > #CONTAINER input[type=password]:focus, +#WRAPPER > #CONTAINER input[type=password]:hover, +#WRAPPER > #CONTAINER select:focus, +#WRAPPER > #CONTAINER select:hover, #WRAPPER > #CONTAINER.invalid > input[type=text]:focus, #WRAPPER > #CONTAINER.invalid > input[type=text]:hover, #WRAPPER > #CONTAINER.invalid > input[type=mail]:focus, #WRAPPER > #CONTAINER.invalid > input[type=mail]:hover, #WRAPPER > #CONTAINER.invalid > input[type=password]:focus, #WRAPPER > #CONTAINER.invalid > input[type=password]:hover, #WRAPPER > #CONTAINER.invalid > select:focus, #WRAPPER > #CONTAINER.invalid > select:hover, +#WRAPPER > #CONTAINER input.invalid[type=text]:focus, +#WRAPPER > #CONTAINER input.invalid[type=text]:hover, +#WRAPPER > #CONTAINER input.invalid[type=mail]:focus, +#WRAPPER > #CONTAINER input.invalid[type=mail]:hover, +#WRAPPER > #CONTAINER input.invalid[type=password]:focus, +#WRAPPER > #CONTAINER input.invalid[type=password]:hover, +#WRAPPER > #CONTAINER select.invalid:focus, +#WRAPPER > #CONTAINER select.invalid:hover { + border-color: #d52918; +} +#WRAPPER > #CONTAINER select { + width: 100%; + display: block; + background: #fff; +} +#WRAPPER > #CONTAINER select option { + padding: .5em; +} +#WRAPPER > #CONTAINER .valid > input[type=text]:focus, #WRAPPER > #CONTAINER .valid > input[type=text]:hover, +#WRAPPER > #CONTAINER .valid > input[type=mail]:focus, +#WRAPPER > #CONTAINER .valid > input[type=mail]:hover, +#WRAPPER > #CONTAINER .valid > input[type=password]:focus, +#WRAPPER > #CONTAINER .valid > input[type=password]:hover, +#WRAPPER > #CONTAINER .valid > select:focus, +#WRAPPER > #CONTAINER .valid > select:hover, +#WRAPPER > #CONTAINER input.valid[type=text]:focus, +#WRAPPER > #CONTAINER input.valid[type=text]:hover, +#WRAPPER > #CONTAINER input.valid[type=mail]:focus, +#WRAPPER > #CONTAINER input.valid[type=mail]:hover, +#WRAPPER > #CONTAINER input.valid[type=password]:focus, +#WRAPPER > #CONTAINER input.valid[type=password]:hover, +#WRAPPER > #CONTAINER select.valid:focus, +#WRAPPER > #CONTAINER select.valid:hover { + border-color: #27a560; +} +#WRAPPER > #CONTAINER .neutral > input[type=text]:focus, #WRAPPER > #CONTAINER .neutral > input[type=text]:hover, +#WRAPPER > #CONTAINER .neutral > input[type=mail]:focus, +#WRAPPER > #CONTAINER .neutral > input[type=mail]:hover, +#WRAPPER > #CONTAINER .neutral > input[type=password]:focus, +#WRAPPER > #CONTAINER .neutral > input[type=password]:hover, +#WRAPPER > #CONTAINER .neutral > select:focus, +#WRAPPER > #CONTAINER .neutral > select:hover, +#WRAPPER > #CONTAINER input.neutral[type=text]:focus, +#WRAPPER > #CONTAINER input.neutral[type=text]:hover, +#WRAPPER > #CONTAINER input.neutral[type=mail]:focus, +#WRAPPER > #CONTAINER input.neutral[type=mail]:hover, +#WRAPPER > #CONTAINER input.neutral[type=password]:focus, +#WRAPPER > #CONTAINER input.neutral[type=password]:hover, +#WRAPPER > #CONTAINER select.neutral:focus, +#WRAPPER > #CONTAINER select.neutral:hover { + border-color: #2193e6; +} +#WRAPPER > #CONTAINER .search > input[type=text]:focus, #WRAPPER > #CONTAINER .search > input[type=text]:hover, +#WRAPPER > #CONTAINER .search > input[type=mail]:focus, +#WRAPPER > #CONTAINER .search > input[type=mail]:hover, +#WRAPPER > #CONTAINER .search > input[type=password]:focus, +#WRAPPER > #CONTAINER .search > input[type=password]:hover, +#WRAPPER > #CONTAINER .search > select:focus, +#WRAPPER > #CONTAINER .search > select:hover, +#WRAPPER > #CONTAINER input.search[type=text]:focus, +#WRAPPER > #CONTAINER input.search[type=text]:hover, +#WRAPPER > #CONTAINER input.search[type=mail]:focus, +#WRAPPER > #CONTAINER input.search[type=mail]:hover, +#WRAPPER > #CONTAINER input.search[type=password]:focus, +#WRAPPER > #CONTAINER input.search[type=password]:hover { + border-color: #5630ed; +} +#WRAPPER > #CONTAINER button, +#WRAPPER > #CONTAINER button.invalid, +#WRAPPER > #CONTAINER .invalid > button { + display: inline-block; + position: relative; + left: 50%; + padding: .7em 1em; + border-radius: 3px; + border: 1px solid #d52918; + background: #d52918 center center no-repeat; + color: #fff; + transition: background .4s ease-in-out; + transform: translateX(-50%); +} +#WRAPPER > #CONTAINER button:hover, #WRAPPER > #CONTAINER button:focus, #WRAPPER > #CONTAINER button:disabled, +#WRAPPER > #CONTAINER button.invalid:hover, +#WRAPPER > #CONTAINER button.invalid:focus, +#WRAPPER > #CONTAINER button.invalid:disabled, +#WRAPPER > #CONTAINER .invalid > button:hover, +#WRAPPER > #CONTAINER .invalid > button:focus, +#WRAPPER > #CONTAINER .invalid > button:disabled { + background-color: #fff; + color: #d52918; +} +#WRAPPER > #CONTAINER button.valid, +#WRAPPER > #CONTAINER .valid > button { + border-color: #27a560; + background-color: #27a560; +} +#WRAPPER > #CONTAINER button.valid:hover, #WRAPPER > #CONTAINER button.valid:focus, #WRAPPER > #CONTAINER button.valid:disabled, +#WRAPPER > #CONTAINER .valid > button:hover, +#WRAPPER > #CONTAINER .valid > button:focus, +#WRAPPER > #CONTAINER .valid > button:disabled { + background-color: #fff; + color: #27a560; +} +#WRAPPER > #CONTAINER button.neutral, +#WRAPPER > #CONTAINER .neutral > button { + border-color: #2193e6; + background-color: #2193e6; +} +#WRAPPER > #CONTAINER button.neutral:hover, #WRAPPER > #CONTAINER button.neutral:focus, #WRAPPER > #CONTAINER button.neutral:disabled, +#WRAPPER > #CONTAINER .neutral > button:hover, +#WRAPPER > #CONTAINER .neutral > button:focus, +#WRAPPER > #CONTAINER .neutral > button:disabled { + background-color: #fff; + color: #2193e6; +} +#WRAPPER > #CONTAINER button.search, +#WRAPPER > #CONTAINER .search > button { + border-color: #5630ed; + background-color: #5630ed; +} +#WRAPPER > #CONTAINER button.search:hover, #WRAPPER > #CONTAINER button.search:focus, #WRAPPER > #CONTAINER button.search:disabled, +#WRAPPER > #CONTAINER .search > button:hover, +#WRAPPER > #CONTAINER .search > button:focus, +#WRAPPER > #CONTAINER .search > button:disabled { + background-color: #fff; + color: #5630ed; +} +#WRAPPER > #CONTAINER .invalid > button.active, +#WRAPPER > #CONTAINER button.invalid.active, +#WRAPPER > #CONTAINER button.active { + background-color: #fff; + background-image: url("/src/static/container/active@d52918.svg") !important; + background-size: 1em auto; + color: transparent !important; +} +#WRAPPER > #CONTAINER button.valid.active, +#WRAPPER > #CONTAINER .valid > button.active { + background-image: url("/src/static/container/active@27a560.svg") !important; +} +#WRAPPER > #CONTAINER button.neutral.active, +#WRAPPER > #CONTAINER .neutral > button.active { + background-image: url("/src/static/container/active@2193e6.svg") !important; +} +#WRAPPER > #CONTAINER button.search.active, +#WRAPPER > #CONTAINER .search > button.active { + background-image: url("/src/static/container/active@5630ed.svg") !important; +} +#WRAPPER > #CONTAINER hr.OR[data-label] { + display: block; + position: relative; + width: 100%; + height: 0; + border: 0; + border-bottom: 1px dashed #d52918; +} +#WRAPPER > #CONTAINER hr.OR[data-label]:before { + content: attr(data-label); + display: inline-block; + position: relative; + top: 50%; + left: 50%; + padding: 0 1em; + background-color: #fff; + color: #d52918; + transform: translateX(-50%) translatey(-50%); +} +#WRAPPER > #CONTAINER .valid > hr.OR, +#WRAPPER > #CONTAINER hr.OR.valid { + border-bottom: 1px dashed #27a560; +} +#WRAPPER > #CONTAINER .valid > hr.OR:before, +#WRAPPER > #CONTAINER hr.OR.valid:before { + color: #27a560; +} +#WRAPPER > #CONTAINER .neutral > hr.OR, +#WRAPPER > #CONTAINER hr.OR.neutral { + border-bottom: 1px dashed #2193e6; +} +#WRAPPER > #CONTAINER .neutral > hr.OR:before, +#WRAPPER > #CONTAINER hr.OR.neutral:before { + color: #2193e6; +} +#WRAPPER > #CONTAINER .search > hr.OR, +#WRAPPER > #CONTAINER hr.OR.search { + border-bottom: 1px dashed #5630ed; +} +#WRAPPER > #CONTAINER .search > hr.OR:before, +#WRAPPER > #CONTAINER hr.OR.search:before { + color: #5630ed; +} -/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY29udGFpbmVyLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vY29udGFpbmVyLnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbiNXUkFQUEVSID4gI0NPTlRBSU5FUntcblxuXHQvKiBbMV0gU2VjdGlvbiAoY29udGVudSlcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+IHNlY3Rpb257XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdH1cblxuXG5cdC8vIEBhY3RpdmUgKyAubGlzdFxuXHQmID4gc2VjdGlvbi5hY3RpdmV7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQuaW5saW5lLWJveHtcblx0XHRcdGZsZXg6IDAgMCAxO1xuXHRcdH1cblxuXHRcdC5pbmxpbmUtcm93e1xuXHRcdFx0ZmxleDogM2VtIDAgMTtcblx0XHR9XG5cblx0XHQvLyBCYXJyZSBkZSByZWNoZXJjaGVcblx0XHQuc2VhcmNoYmFye1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQvLyB3aWR0aDogY2FsYyggMTAwJSAtIDIqMWVtIC0gMioxZW0gKTtcblx0XHRcdFx0ZmxleDogY2FsYyggMTAwJSAtIDIqMWVtIC0gMioxZW0gKTtcblx0XHRcdFx0aGVpZ2h0OiAxZW07XG5cdFx0XHRtYXJnaW46IDFlbTtcblx0XHRcdHBhZGRpbmc6IC41ZW0gMWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjYjFiMWIxO1xuXHRcdFx0XHQvLyBib3gtc2hhZG93OiAwIDAgMXB4ICNiN2I3Yjc7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZiB1cmwoJy9zcmMvc3RhdGljL3N1Yi1tZW51LXNpZGUvc2VhcmNoQGIxYjFiMS5zdmcnKSAuNWVtIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXG5cdFx0XHRcdHRyYW5zaXRpb246IGJvcmRlciAuNHMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1c3tcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLXNlYXJjaC1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEVycmV1clxuXHRcdC5lcnJvcntcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAyKjFlbSAtIDIqMWVtICk7XG5cdFx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0bWFyZ2luOiAxZW07XG5cdFx0XHRwYWRkaW5nOiAxZW07XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWludmFsaWQtY29sb3I7XG5cblx0XHRcdGJhY2tncm91bmQ6ICRmb3JtLWludmFsaWQtY29sb3I7XG5cblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggZGFya2VuKCRmb3JtLWludmFsaWQtY29sb3IsIDEwKTtcblx0XHR9XG5cdH1cblxuXG5cblx0LyogWzJdIElOTElORS1CT1ggcG91ciBhZmZpY2hlciBsZXMgbGlzdGVzIGRlIGRvbm5lZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+IHNlY3Rpb24gPiAuaW5saW5lLWJveCxcblx0JiA+IHNlY3Rpb24gPiAuaW5saW5lLXJvd3tcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ly8gd2lkdGg6IGNhbGMoIDUwJSAtIDIqMWVtIC0gMioxZW0gKTtcblx0XHRcdGZsZXg6IGNhbGMoIDUwJSAtIDIqMWVtIC0gMioxZW0gKTtcblx0XHRcdG1hcmdpbjogMWVtO1xuXHRcdFx0cGFkZGluZzogMWVtO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMXB4ICNiN2I3Yjc7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHRcdC8vIExvcnMgZGUgbGEgcmVjaGVyY2hlLCBxdWFuZCBvbiB2ZXV0IGVuIG1hc3F1ZXJcblx0XHRcdCYuaGlkZGVue1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRhe1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0fVxuXG5cblx0XHRcdCYuc2VsZWN0ZWR7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM3MzYyZmY7XG5cblx0XHRcdFx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRib3gtc2hhZG93OiAycHggMnB4IDdweCAjYWFhO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8qICgxKSBUaXRyZSBkZSBsJ2VsZW1lbnQgKi9cblx0XHRcdC50aXRsZXtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xNWVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdFx0XHRjb2xvcjogZGFya2VuKCR0aGVtZS1jb2xvciwgMik7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRcdFx0JiA+IHNwYW57XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdFx0XHRcdGNvbG9yOiAjMzMzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8qICgyKSBDb2RlIFJGSUQgKi9cblx0XHRcdC8qICgzKSBBZHJlc3NlIG1haWwgKi9cblx0XHRcdC5jb2RlLFxuXHRcdFx0Lm1haWx7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDFlbTtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRcdFx0Ly8gc3ZnIChpY29uZSlcblx0XHRcdFx0c3Zne1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLjVlbTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLjVlbTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC0uNmVtO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEuNWVtO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0XHRcdHBhdGgjc3R5bGlzYWJsZXtcblx0XHRcdFx0XHRcdGZpbGw6ICMzMzMgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cGF0aCNzdHJva2Utc3R5bGlzYWJsZXtcblx0XHRcdFx0XHRcdHN0cm9rZTogIzMzMyAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cblxuXHRcdFx0LyogKDQpIEdyb3VwZXMgKi9cblx0XHRcdC5ncm91cHN7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDFlbTtcblx0XHRcdFx0Y29sb3I6ICMzMzM7XG5cdFx0XHRcdC8vIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHRcdFx0Ly8gc3ZnIChpY29uZSlcblx0XHRcdFx0c3Zne1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLjVlbTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLjVlbTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC0uNmVtO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEuNWVtO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0XHRcdHBhdGh7XG5cdFx0XHRcdFx0XHRmaWxsOiAjMzMzICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgPiBzcGFue1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0cGFkZGluZzogLjFlbSAuNWVtO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogY2FsYyggLjRlbSArIDJlbSApO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC41ZW07XG5cblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjYmRiZGJkO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggI2ZhZmFmYTtcblxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG5cblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblxuXHRcdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0XHRcdCYuYWRkLWdyb3VwLFxuXHRcdFx0XHRcdCYuYWRkLW1lbWJlcntcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblxuXHRcdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYgPiBzcGFuLnJlbS1ncm91cCxcblx0XHRcdFx0XHQmID4gc3Bhbi5yZW0tbWVtYmVye1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDFlbTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gLjFlbSAtIDJweCApO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAuMTJlbSAuNWVtO1xuXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNiZGJkYmQ7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4ICNmYWZhZmE7XG5cblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnL3NyYy9zdGF0aWMvc3ViLW1lbnUtc2lkZS9yZW1vdmUuc3ZnJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNzAlO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcblxuXHRcdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9zdWItbWVudS1zaWRlL3JlbW92ZUAjeyRyZC1mb3JtLWludmFsaWQtY29sb3J9LnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHRcdC8qICg1KSBMaWVuIHZlcnMgbGEgbW9kaWZpY2F0aW9uICovXG5cdFx0XHQubGlua19lZGl0LFxuXHRcdFx0LmxpbmtfcmVtb3Zle1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHdpZHRoOiAxZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiAxZW07XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XG5cblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdCYgPiBzdmd7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdGZpbGw6ICNkZGQgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGZpbGwgLjRzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdCYgPiBzdmd7XG5cdFx0XHRcdFx0XHRmaWxsOiAkZm9ybS1uZXV0cmFsLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8qICg2KSBMaWVuIHZlcnMgbGEgc3VwcHJlc3Npb24gKi9cblx0XHRcdC5saW5rX3JlbW92ZXtcblxuXHRcdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRcdCYgPiBzdmd7XG5cdFx0XHRcdFx0XHRmaWxsOiAkZm9ybS1pbnZhbGlkLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0fVxuXG5cblx0LyogWzItMl0gSU5MSU5FLVJPVyBwb3VyIGFmZmljaGVyIGRlcyBsaWduZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblx0JiA+IHNlY3Rpb24uZnN0YXJ0e1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdC5zZWFyY2hiYXJ7XG5cdFx0XHRmbGV4OiAxZW0gMCAwO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAzZW0gLSAyKjJlbSApO1xuXHRcdH1cblx0fVxuXG5cdCYgPiBzZWN0aW9uID4gLmlubGluZS1yb3d7XG5cblx0XHR3aWR0aDogY2FsYyggMTAwJSAtIDRlbSAtIDIqMWVtICk7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cblx0XHQvLyBTdXIgbGEgbcOqbWUgbGlnbmUgcsOpcGFydGlzIMOpcXVpdGFibGVtZW50XG5cdFx0JiA+IHNwYW57XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG5cdFx0XHRmbGV4OiAxMDAlIDEgMTtcblxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b257XG5cdFx0XHRmbGV4OiBhdXRvO1xuXHRcdFx0d2lkdGg6IDVlbTtcblx0XHR9XG5cblx0fVxuXG5cblxuXG5cdC8qIFszXSBGb3JtdWxhaXJlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gc2VjdGlvbiA+IGZvcm0sIC5mb3Jte1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW46IC4zZW0gMDtcblx0XHRcdHBhZGRpbmc6IDFlbTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRib3JkZXItY29sb3I6ICRmb3JtLWludmFsaWQtY29sb3I7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDFweCAjYjdiN2I3O1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuXG5cblx0XHQmLnZhbGlke1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZm9ybS12YWxpZC1jb2xvcjtcblx0XHR9XG5cblx0XHQmLm5ldXRyYWx7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLW5ldXRyYWwtY29sb3I7XG5cdFx0fVxuXG5cdFx0Ji5zZWFyY2h7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLW5ldXRyYWwtY29sb3I7XG5cdFx0fVxuXG5cdFx0Ly8gVGV4dGVzIGNlbnRyZXNcblx0XHQuZWRpdF9zZWFyY2hfdmlldyxcblx0XHQucmVtb3ZlX3NlYXJjaF92aWV3e1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICNhYWFhYWE7XG5cblx0XHRcdHNwYW57XG5cdFx0XHRcdGNvbG9yOiAjODg4ODg4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblxuXHQvKiAoMSkgQ2hhbXBzIGRlIHRleHRlICovXG5cdGlucHV0W3R5cGU9dGV4dF0sXG5cdGlucHV0W3R5cGU9bWFpbF0sXG5cdGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuXHRzZWxlY3QsXG5cdCYuaW52YWxpZCA+IGlucHV0W3R5cGU9dGV4dF0sXG5cdCYuaW52YWxpZCA+IGlucHV0W3R5cGU9bWFpbF0sXG5cdCYuaW52YWxpZCA+IGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuXHQmLmludmFsaWQgPiBzZWxlY3QsXG5cdGlucHV0LmludmFsaWRbdHlwZT10ZXh0XSxcblx0aW5wdXQuaW52YWxpZFt0eXBlPW1haWxdLFxuXHRpbnB1dC5pbnZhbGlkW3R5cGU9cGFzc3dvcmRdLFxuXHRzZWxlY3QuaW52YWxpZHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0XHRwYWRkaW5nOiAuN2VtIDFlbTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDdkZGU4O1xuXG5cdFx0Y29sb3I6ICMyZjMwMzM7XG5cblx0XHR0cmFuc2l0aW9uOiBib3JkZXIgLjRzIGVhc2UtaW4tb3V0O1xuXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmhvdmVye1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1pbnZhbGlkLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cblx0c2VsZWN0e1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRvcHRpb257XG5cdFx0XHRwYWRkaW5nOiAuNWVtO1xuXHRcdH1cblx0fVxuXG5cblx0Ly8gQ2hhbXBzIHZhbGlkZXNcblx0LnZhbGlkID4gaW5wdXRbdHlwZT10ZXh0XSxcblx0LnZhbGlkID4gaW5wdXRbdHlwZT1tYWlsXSxcblx0LnZhbGlkID4gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5cdC52YWxpZCA+IHNlbGVjdCxcblx0aW5wdXQudmFsaWRbdHlwZT10ZXh0XSxcblx0aW5wdXQudmFsaWRbdHlwZT1tYWlsXSxcblx0aW5wdXQudmFsaWRbdHlwZT1wYXNzd29yZF0sXG5cdHNlbGVjdC52YWxpZHtcblx0XHQmOmZvY3VzLFxuXHRcdCY6aG92ZXJ7XG5cdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLXZhbGlkLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC8vIENoYW1wcyBuZXV0cmVzXG5cdC5uZXV0cmFsID4gaW5wdXRbdHlwZT10ZXh0XSxcblx0Lm5ldXRyYWwgPiBpbnB1dFt0eXBlPW1haWxdLFxuXHQubmV1dHJhbCA+IGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuXHQubmV1dHJhbCA+IHNlbGVjdCxcblx0aW5wdXQubmV1dHJhbFt0eXBlPXRleHRdLFxuXHRpbnB1dC5uZXV0cmFsW3R5cGU9bWFpbF0sXG5cdGlucHV0Lm5ldXRyYWxbdHlwZT1wYXNzd29yZF0sXG5cdHNlbGVjdC5uZXV0cmFse1xuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3Zlcntcblx0XHRcdGJvcmRlci1jb2xvcjogJGZvcm0tbmV1dHJhbC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXHQvLyBDaGFtcHMgbmV1dHJlc1xuXHQuc2VhcmNoID4gaW5wdXRbdHlwZT10ZXh0XSxcblx0LnNlYXJjaCA+IGlucHV0W3R5cGU9bWFpbF0sXG5cdC5zZWFyY2ggPiBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcblx0LnNlYXJjaCA+IHNlbGVjdCxcblx0aW5wdXQuc2VhcmNoW3R5cGU9dGV4dF0sXG5cdGlucHV0LnNlYXJjaFt0eXBlPW1haWxdLFxuXHRpbnB1dC5zZWFyY2hbdHlwZT1wYXNzd29yZF17XG5cdFx0Jjpmb2N1cyxcblx0XHQmOmhvdmVye1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1zZWFyY2gtY29sb3I7XG5cdFx0fVxuXHR9XG5cblxuXG5cdC8qICgyKSBCb3V0b25zICovXG5cdGJ1dHRvbixcblx0YnV0dG9uLmludmFsaWQsXG5cdC5pbnZhbGlkID4gYnV0dG9ue1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cblx0XHRwYWRkaW5nOiAuN2VtIDFlbTtcblxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZm9ybS1pbnZhbGlkLWNvbG9yO1xuXG5cdFx0YmFja2dyb3VuZDogJGZvcm0taW52YWxpZC1jb2xvciBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblxuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHMgZWFzZS1pbi1vdXQ7XG5cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjpkaXNhYmxlZHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRjb2xvcjogJGZvcm0taW52YWxpZC1jb2xvcjtcblx0XHR9XG5cdH1cblxuXG5cdC8vIEJvdXRvbnMgdmFsaWRlc1xuXHRidXR0b24udmFsaWQsXG5cdC52YWxpZCA+IGJ1dHRvbntcblx0XHRib3JkZXItY29sb3I6ICRmb3JtLXZhbGlkLWNvbG9yO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGZvcm0tdmFsaWQtY29sb3I7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjpkaXNhYmxlZHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRjb2xvcjogJGZvcm0tdmFsaWQtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQm91dG9ucyBuZXV0cmVzXG5cdGJ1dHRvbi5uZXV0cmFsLFxuXHQubmV1dHJhbCA+IGJ1dHRvbntcblx0XHRib3JkZXItY29sb3I6ICRmb3JtLW5ldXRyYWwtY29sb3I7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1uZXV0cmFsLWNvbG9yO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCY6ZGlzYWJsZWR7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0Y29sb3I6ICRmb3JtLW5ldXRyYWwtY29sb3I7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQm91dG9ucyByZWNoZXJjaGVcblx0YnV0dG9uLnNlYXJjaCxcblx0LnNlYXJjaCA+IGJ1dHRvbntcblx0XHRib3JkZXItY29sb3I6ICRmb3JtLXNlYXJjaC1jb2xvcjtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlYXJjaC1jb2xvcjtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmRpc2FibGVke1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdGNvbG9yOiAkZm9ybS1zZWFyY2gtY29sb3I7XG5cdFx0fVxuXHR9XG5cblxuXHQvLyBCb3V0b25zIHF1YW5kIGFjdGlvbiB2YWxpZGVlXG5cdC5pbnZhbGlkID4gYnV0dG9uLmFjdGl2ZSxcblx0YnV0dG9uLmludmFsaWQuYWN0aXZlLFxuXHRidXR0b24uYWN0aXZle1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9jb250YWluZXIvYWN0aXZlQCN7JHJkLWZvcm0taW52YWxpZC1jb2xvcn0uc3ZnJykgIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDFlbSBhdXRvO1xuXG5cdFx0Y29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdH1cblxuXG5cdGJ1dHRvbi52YWxpZC5hY3RpdmUsXG5cdC52YWxpZCA+IGJ1dHRvbi5hY3RpdmV7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3JjL3N0YXRpYy9jb250YWluZXIvYWN0aXZlQCN7JHJkLWZvcm0tdmFsaWQtY29sb3J9LnN2ZycpICAgIWltcG9ydGFudDtcblx0fVxuXHRidXR0b24ubmV1dHJhbC5hY3RpdmUsXG5cdC5uZXV0cmFsID4gYnV0dG9uLmFjdGl2ZXtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9hY3RpdmVAI3skcmQtZm9ybS1uZXV0cmFsLWNvbG9yfS5zdmcnKSAhaW1wb3J0YW50O1xuXHR9XG5cdGJ1dHRvbi5zZWFyY2guYWN0aXZlLFxuXHQuc2VhcmNoID4gYnV0dG9uLmFjdGl2ZXtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9hY3RpdmVAI3skcmQtZm9ybS1zZWFyY2gtY29sb3J9LnN2ZycpICAhaW1wb3J0YW50O1xuXHR9XG5cblxuXG5cdC8vIFwiT1VcIiBzZXBhcmFudCBsZXMgYm91dG9uc1xuXHRoci5PUltkYXRhLWxhYmVsXXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMDtcblxuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRmb3JtLWludmFsaWQtY29sb3I7XG5cblx0XHQmOmJlZm9yZXtcblx0XHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMWVtO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0XHRjb2xvcjogJGZvcm0taW52YWxpZC1jb2xvcjtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZXkoLTUwJSk7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyBcIk9VXCIgdmFsaWRlXG5cdC52YWxpZCA+IGhyLk9SLFxuXHRoci5PUi52YWxpZHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRmb3JtLXZhbGlkLWNvbG9yO1xuXHRcdCY6YmVmb3Jle1xuXHRcdFx0Y29sb3I6ICRmb3JtLXZhbGlkLWNvbG9yO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gXCJPVVwiIG5ldXRyZVxuXHQubmV1dHJhbCA+IGhyLk9SLFxuXHRoci5PUi5uZXV0cmFse1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGZvcm0tbmV1dHJhbC1jb2xvcjtcblx0XHQmOmJlZm9yZXtcblx0XHRcdGNvbG9yOiAkZm9ybS1uZXV0cmFsLWNvbG9yO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gXCJPVVwiIHJlY2hlcmNoZVxuXHQuc2VhcmNoID4gaHIuT1IsXG5cdGhyLk9SLnNlYXJjaHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRmb3JtLXNlYXJjaC1jb2xvcjtcblx0XHQmOmJlZm9yZXtcblx0XHRcdGNvbG9yOiAkZm9ybS1zZWFyY2gtY29sb3I7XG5cdFx0fVxuXG5cdH1cblxuXG5cblxuXG59XG5cbi8qIFs0XSBUYWJsZWF1IMOgIGNvY2hlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbmFydGljbGUuY2hlY2stdGFibGV7XG5cblx0ZGlzcGxheTogZmxleDtcblxuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG5cblxuXHQmID4gZGl2e1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGZsZXg6IDEwMCU7XG5cdFx0cGFkZGluZzogLjhlbSAwO1xuXG5cdFx0Y29sb3I6ICMzMzM7XG5cblx0XHRiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0XHQmOm50aC1jaGlsZCgybil7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuXHRcdH1cblxuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblxuXHRcdCYgPiBzcGFue1xuXHRcdFx0ZmxleDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXG5cdFx0XHQvKiAoMSkgR2VzdGlvbiBkdSBjaGVja2JveCBoYWNrICovXG5cdFx0XHRpbnB1dFt0eXBlPSdjaGVja2JveCddeyBkaXNwbGF5OiBub25lOyB9XG5cblx0XHRcdGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3Jde1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDogMS4yZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiAxLjJlbTtcblxuXHRcdFx0XHQvLyBib3JkZXItcmFkaXVzOiA1MCUgLyA1MCU7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcvc3JjL3N0YXRpYy9jb250YWluZXIvY2hlY2tib3guc3ZnJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOztcblxuXHRcdFx0XHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsW2Zvcl17XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3NyYy9zdGF0aWMvY29udGFpbmVyL2NoZWNrYm94QGNoZWNrZWQuc3ZnJyk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLAoJCSIvKiBDT1VMRVVSIERVIFRIRU1FICovXG4kdGhlbWUtY29sb3I6ICNmNDRmMDY7XG5cbi8qIENPVUxFVVIgRFUgU09VUy1NRU5VICovXG4kc3ViLW1lbnUtY29sb3I6ICM1YjVlNjM7XG5cbi8qIENPVUxFVVIgREVTIEVSUkVVUlMgKi9cbiRlcnJvci1jb2xvcjogI2NjNTg1NztcblxuLyogRk9STVVMQUlSRVMgKi9cbiRmb3JtLXZhbGlkLWNvbG9yOiAgICMyN2E1NjA7XG4kZm9ybS1uZXV0cmFsLWNvbG9yOiAjMjE5M2U2O1xuJGZvcm0tc2VhcmNoLWNvbG9yOiAgIzU2MzBlZDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICNkNTI5MTg7XG5cblxuLyogR0VTVElPTiBERVMgTE9OR1VFVVJTICovXG4kbWVudS1zaWRlLXdpZHRoOiA0ZW07XG5cblxuLy8gUE9VUiBSRVNPVVJDRV9ESVNQQVRDSEVSXG4kcmQtZm9ybS12YWxpZC1jb2xvcjogICAnMjdhNTYwJztcbiRyZC1mb3JtLW5ldXRyYWwtY29sb3I6ICcyMTkzZTYnO1xuJHJkLWZvcm0tc2VhcmNoLWNvbG9yOiAgJzU2MzBlZCc7XG4kcmQtZm9ybS1pbnZhbGlkLWNvbG9yOiAnZDUyOTE4JztcbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFFQSxBQUlLLFFBSkcsQ0FBRyxVQUFVLENBSWhCLE9BQU8sQUFBQSxDQUNWLE9BQU8sQ0FBRSxJQUFLLENBQ2QsU0FBUyxDQUFFLENBQUUsQ0FDYixBQVBGLEFBV1ksUUFYSixDQUFHLFVBQVUsQ0FXaEIsT0FBTyxBQUFBLE9BQU8sQUFBQSxDQUNqQixPQUFPLENBQUUsSUFBSyxDQUNkLGNBQWMsQ0FBRSxHQUFJLENBQ3BCLFdBQVcsQ0FBRSxVQUFXLENB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 */ \ No newline at end of file +/* [4] Tableau à cocher +=========================================================*/ +article.check-table { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; + border-radius: 3px; + border: 1px solid #ddd; +} +article.check-table > div { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + flex: 100%; + padding: .8em 0; + color: #333; + background: #f8f8f8; + border-bottom: 1px solid #eee; + transition: background .2s ease-in-out; + overflow: hidden; +} +article.check-table > div:nth-child(2n) { + background: #fdfdfd; +} +article.check-table > div > span { + flex: 100%; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: center; + /* (1) Gestion du checkbox hack */ +} +article.check-table > div > span input[type='checkbox'] { + display: none; +} +article.check-table > div > span input[type='checkbox'] + label[for] { + display: inline-block; + position: absolute; + width: 1.2em; + height: 1.2em; + background: url("/src/static/container/checkbox.svg") center center no-repeat; + background-size: 100% auto; + transition: box-shadow .2s ease-in-out; + cursor: pointer; +} +article.check-table > div > span input[type='checkbox']:checked + label[for] { + background-image: url("/src/static/container/checkbox@checked.svg"); +} + +/*# sourceMappingURL=container.css.map */ diff --git a/public_html/index.php b/public_html/index.php index 5e02461..905623c 100755 --- a/public_html/index.php +++ b/public_html/index.php @@ -1,6 +1,6 @@ - Api */ - $R->post('api(?:/(.*))?', function($url){ + $R->post('api(?:/(.*))/??', function($url){ $request = ModuleRequest::fromPost($url, $_POST); $answer = $request->dispatch(); diff --git a/public_html/src/logauth.ico b/public_html/src/logauth.ico old mode 100644 new mode 100755