diff --git a/css/bundle.css b/css/bundle.css index 6ed7c14..a9f55bd 100644 --- a/css/bundle.css +++ b/css/bundle.css @@ -1,4 +1,4 @@ html, body{height:100%;min-height:100%;width:100%;position:relative;--blueaf:#002157;--blueaf_rgb:9,34,84;--redaf:#FA3C35;--blood-red:#6B0504;--green:#2CA58D;;;--snow:#FFFBFF;--minion-yellow:#ECD444;--light-grey:#eee;--maximum-yellow-red:#FCBF49;--color:var(--blueaf);--white:white;--background-color:var(--snow);--navbar-background-color:var(--minion-yellow);--dropzone-background-color:var(--background-color);--table-background-color:var(--background-color);--table-color:var(--color);--table-highlight-color:#00215730;--table-border-color:#ccc;color:var(--color)}body{background-color:var(--background-color);margin:0;box-sizing:border-box;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:1rem}main{text-align:center;padding:1em 1em 40px 1em}a{color:var(--redaf);text-decoration:none}a:hover{text-decoration:underline}a:visited{color:var(--blood-red)}a[href^="#"]:visited{color:var(--redaf)}a[href^=http]::after{content:"⬀"}label{display:block}input, button, select, textarea{font-family:inherit;font-size:inherit;-webkit-padding:0.4em 0;padding:0.4em;margin:0 0 0.5em 0;box-sizing:border-box;border:1px solid #ccc;border-radius:2px}input:disabled{color:#ccc}button{color:#333;background-color:#f4f4f4;outline:none;cursor:pointer}button:disabled{color:#999;cursor:not-allowed}button:not(:disabled):active {background-color:#ddd}button:focus{border-color:#666}.btn-sm{text-transform:uppercase;font-size:small;color:var(--color);border-color:var(--color);background-color:var(--background-color);margin-left:1rem}.select select{color:var(--color)}.select{display:inline-block}.select select{-webkit-padding:0.2em 0;padding:0.2em;margin:0 0 0 0.2em}table{border-collapse:collapse;width:100%}th, td{padding:0.25rem;text-align:left;border:1px solid var(--table-border-color)}svg{fill:var(--color)}svg[fill=none]{fill:none}span.logo{color:var(--blueaf);text-transform:uppercase}span.logo > span{color:var(--redaf)}.no-transition{animation:none !important}h1 span.logo{font-weight:bold}@font-face{font-family:'Abril Fatface';font-style:normal;font-weight:400;src:local(''), url('../fonts/abril-fatface-v12-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('../fonts/abril-fatface-v12-latin-ext_latin-regular.woff') format('woff')}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.modal.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{position:fixed;z-index:19;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}.modal.svelte-1pe757z .toast.svelte-1pe757z.svelte-1pe757z{margin:15% auto 0 auto}.modal.svelte-1pe757z .toast-header.svelte-1pe757z.svelte-1pe757z{justify-content:center}.modal.svelte-1pe757z .toast-header.svelte-1pe757z strong.svelte-1pe757z{margin-right:0}.toast.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{opacity:1;z-index:20;max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.25rem}.toast-header.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-header.svelte-1pe757z strong.svelte-1pe757z.svelte-1pe757z{margin-right:auto}.toast-body.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{padding:.75rem;text-align:center}.toast-body.svelte-1pe757z button.svelte-1pe757z.svelte-1pe757z{border-radius:3px}button.manual.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{color:var(--background-color);background-color:var(--blueaf)}button.close.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5;padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-bottom:.25rem;margin-left:0.5rem}strong.svelte-1pe757z>span.svelte-1pe757z.svelte-1pe757z{padding-right:1em}.blinking.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{animation:svelte-1pe757z-blink 1s infinite}@keyframes svelte-1pe757z-blink{0%{opacity:1.0}50%{opacity:0.0}100%{opacity:1.0}}sup.svelte-98mib8.svelte-98mib8{background-color:var(--redaf);color:var(--background-color);padding:1px 3px;border-radius:3px;font-weight:normal;margin-left:4px;font-size:xx-small}a[href="#/"].svelte-98mib8 sup.svelte-98mib8{background-color:var(--blueaf);font-size:x-small;font-weight:bold;margin-left:2px}nav.svelte-98mib8.svelte-98mib8{display:flex;position:-webkit-sticky;position:sticky;top:0;background-color:var(--navbar-background-color);--item-color:rgba(var(--blueaf_rgb), 0.5);--active-color:rgba(var(--blueaf_rgb), 0.9);z-index:10}a.svelte-98mib8.svelte-98mib8{display:block;padding:10px;color:var(--item-color);text-decoration:none}a.active.svelte-98mib8.svelte-98mib8{color:var(--active-color);border-bottom:2px solid var(--redaf)}a.svelte-98mib8.svelte-98mib8:hover{text-decoration:none}a.svelte-98mib8.svelte-98mib8:visited{color:var(--item-color)}a[href="#/"].svelte-98mib8.svelte-98mib8{margin-right:0;font-weight:700}a[href="#/log"].svelte-98mib8.svelte-98mib8{padding-right:2px;padding-top:8px;padding-bottom:0}.flexspace{display:inline-block;flex:1}nav .select{display:flex;align-items:center;margin-right:10px}nav .select select{background-color:var(--navbar-background-color);border:none}a[href="#/log"].svelte-98mib8 sup.svelte-98mib8{top:-1em;position:relative;left:-0.5em}svg.svelte-98mib8.svelte-98mib8{fill:var(--redaf);opacity:1;width:24px;height:24px}.window-wrapper.svelte-1kkhzu1.svelte-1kkhzu1{width:60ch;max-width:100%;height:50%;position:fixed;right:0px;z-index:15;opacity:0.96}.window.svelte-1kkhzu1.svelte-1kkhzu1{height:100%;background:var(--background-color);border:3px solid var(--blueaf);border-top:none;flex:1;display:flex;flex-direction:column;overflow:auto;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.head.svelte-1kkhzu1.svelte-1kkhzu1{background:var(--blueaf);color:var(--background-color);display:flex;flex:0 0 auto;align-items:center;padding:5px 3px 5px 12px;border-top-left-radius:5px;border-top-right-radius:5px}.head.svelte-1kkhzu1 button.svelte-1kkhzu1{margin:0 0 0 20px;padding:0.2em 0.3em}.console{font-family:monospace;font-size:small;display:flex;flex-direction:column;min-height:min-content}.console ol{list-style:none;counter-reset:console-counter;padding-inline-start:0px}.console ol li{counter-increment:console-counter;position:relative}.console ol li::before{content:counter(console-counter);font-weight:bold;font-size:1rem;right:7px;position:absolute;top:0;color:rgba(var(--blueaf_rgb), 0.2)}.console p, .console ol{margin-block-end:0px;margin-block-start:0px}.console li{padding:5px 10px;border-bottom:1px solid #eee}.console .error{background-color:#ff000008;color:var(--redaf)}@media all and (min-width: 770px){.blockquote.svelte-15co0wx h1.svelte-15co0wx{font-size:3rem;line-height:1.2}.blockquote-wrapper.svelte-15co0wx.svelte-15co0wx{flex-wrap:nowrap;max-width:1000px;margin-left:auto;margin-right:auto;justify-content:left}.logo.svelte-15co0wx.svelte-15co0wx{margin-right:30px;margin-top:60px;margin-left:40px}section.svelte-15co0wx.svelte-15co0wx{padding:0 40px}}main.svelte-15co0wx.svelte-15co0wx{overflow-x:hidden}div.logo.svelte-15co0wx.svelte-15co0wx{font-size:4em;font-weight:800}section.svelte-15co0wx.svelte-15co0wx{margin:80px auto 0 auto;max-width:1000px;text-align:justify}section.svelte-15co0wx a.svelte-15co0wx{white-space:nowrap}ol.svelte-15co0wx.svelte-15co0wx{list-style:none;counter-reset:my-awesome-counter;margin:0;padding:0}ol.svelte-15co0wx li.svelte-15co0wx{counter-increment:my-awesome-counter;margin-bottom:0.5rem}ol.svelte-15co0wx li.svelte-15co0wx::before{content:counter(my-awesome-counter);font-weight:bold;font-size:2rem;margin-right:0.5rem;line-height:2rem;position:relative;top:0.3rem}.blockquote-wrapper{display:flex;flex-wrap:wrap;padding:0 20px;justify-content:center}.blockquote{position:relative;max-width:620px;margin:10px;align-self:center}.blockquote h1{font-family:'Abril Fatface';position:relative;color:var(--redaf);font-size:2.8rem;font-weight:normal;line-height:1;margin:0;border:solid 2px;border-color:var(--blueaf);border-radius:20px;padding:25px;text-transform:none;text-align:left}.blockquote h1:after{content:"";position:absolute;border:2px solid var(--blueaf);border-radius:0 50px 0 0;width:60px;height:60px;bottom:-62px;left:50px;border-bottom:none;border-left:none;z-index:3}.blockquote h1:before{content:"";position:absolute;width:80px;border:6px solid var(--background-color);bottom:-3px;left:50px;z-index:2}.blockquote h4{position:relative;color:var(--blueaf);font-size:1.3rem;font-weight:300;line-height:1.2;margin:0;padding-top:15px;z-index:1;margin-left:150px;padding-left:12px;text-align:left}.blockquote h4:first-letter{margin-left:-12px}.header.svelte-l9ncfd{min-height:50px}.wrapper.svelte-l9ncfd{max-width:1200px;margin:0 auto}.header.svelte-l9ncfd{min-height:50px}.wrapper.svelte-l9ncfd{max-width:1200px;margin:0 auto}div.footer.svelte-wtoba3.svelte-wtoba3{font-size:xx-small;margin-top:2rem}h1.svelte-wtoba3 small.svelte-wtoba3{font-weight:200;font-size:0.8rem}section.markdown{margin:0 auto;max-width:800px;text-align:justify}section.markdown a{white-space:nowrap}section.markdown ul{list-style-type:square;padding-inline-start:25px}section.markdown li{margin:3px 0}.modal.svelte-38j5yr{display:block}.modal-body.svelte-38j5yr{overflow-y:auto;max-height:calc(90vh - 3.875rem)}.expanded.svelte-38j5yr{height:calc(90vh - 3.875rem)}h5.svelte-38j5yr{font-size:1.25rem;margin-top:0}.flag + .flag{margin-top:3rem}.flag{display:grid;grid-column-gap:var(--flag-gap, 1em);grid-template-columns:auto 1fr;grid-template-rows:repeat(3, minmax(min-content, max-content)) 1fr;grid-template-areas:"signifier ." "signifier title" "signifier content" ". content"}.flag__title{grid-area:title;align-self:center;display:flex;align-items:center}.flag__title:empty{grid-column:1;grid-row:2}.flag__title:empty:after{content:"x";visibility:hidden}.flag__title:empty ~ .flag__content{grid-row-start:2}.flag__signifier{grid-area:signifier;display:flex;align-self:center}.flag__content{grid-area:content}.flag--large-icon svg{width:4rem;height:4rem}.flag--no-title{font-size:1.1rem}.flag--no-title p{margin:0}.flag--large-title h2.svelte-19o17qn{font-size:2.8rem}div.svelte-ydi49e{font-size:small;margin-top:50px}p.svelte-ydi49e{margin-block-end:0;margin-block-start:0}ul.svelte-16swz26{display:block;margin:0.5em 0 0 0;padding:0}li.svelte-16swz26{--size:2em;display:inline-block;border-radius:5px;width:var(--size);height:var(--size);line-height:var(--size);text-align:center;background-color:var(--redaf);color:var(--white);margin:2px 5px}li.loaded.svelte-16swz26{background-color:var(--green) !important}li.optional.svelte-16swz26{background-color:var(--color)}.dropzone{border:2px dashed var(--blueaf);border-radius:5px;background:var(--dropzone-background-color);width:80%;margin:0 auto 2em auto;position:relative}.dropzone figure{width:60px;height:60px;display:block;margin:0 auto}.dropzone figure svg{width:100%;height:100%;opacity:0.5}.dropzone figure svg use{width:100%;height:100%}.dropzone input[type=file]{opacity:0;overflow:hidden;position:absolute;width:100%;height:100%;left:0;top:0;z-index:1}.dropzone label{z-index:-1}.dropzone.focus{border-color:var(--green)}.dropzone.focus svg{fill:var(--green);opacity:1}.dropzone.focus input[type=file]:disabled + label svg{fill:var(--redaf);opacity:1}.dropzone input[type=file]:hover{cursor:pointer}.dropzone input[type=file]:disabled{cursor:not-allowed} .dropzone div[slot]{padding:20px + url('../fonts/abril-fatface-v12-latin-ext_latin-regular.woff') format('woff')}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.modal.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{position:fixed;z-index:19;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}.modal.svelte-1pe757z .toast.svelte-1pe757z.svelte-1pe757z{margin:15% auto 0 auto}.modal.svelte-1pe757z .toast-header.svelte-1pe757z.svelte-1pe757z{justify-content:center}.modal.svelte-1pe757z .toast-header.svelte-1pe757z strong.svelte-1pe757z{margin-right:0}.toast.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{opacity:1;z-index:20;max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.25rem}.toast-header.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-header.svelte-1pe757z strong.svelte-1pe757z.svelte-1pe757z{margin-right:auto}.toast-body.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{padding:.75rem;text-align:center}.toast-body.svelte-1pe757z button.svelte-1pe757z.svelte-1pe757z{border-radius:3px}button.manual.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{color:var(--background-color);background-color:var(--blueaf)}button.close.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5;padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-bottom:.25rem;margin-left:0.5rem}strong.svelte-1pe757z>span.svelte-1pe757z.svelte-1pe757z{padding-right:1em}.blinking.svelte-1pe757z.svelte-1pe757z.svelte-1pe757z{animation:svelte-1pe757z-blink 1s infinite}@keyframes svelte-1pe757z-blink{0%{opacity:1.0}50%{opacity:0.0}100%{opacity:1.0}}.window-wrapper.svelte-1kkhzu1.svelte-1kkhzu1{width:60ch;max-width:100%;height:50%;position:fixed;right:0px;z-index:15;opacity:0.96}.window.svelte-1kkhzu1.svelte-1kkhzu1{height:100%;background:var(--background-color);border:3px solid var(--blueaf);border-top:none;flex:1;display:flex;flex-direction:column;overflow:auto;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.head.svelte-1kkhzu1.svelte-1kkhzu1{background:var(--blueaf);color:var(--background-color);display:flex;flex:0 0 auto;align-items:center;padding:5px 3px 5px 12px;border-top-left-radius:5px;border-top-right-radius:5px}.head.svelte-1kkhzu1 button.svelte-1kkhzu1{margin:0 0 0 20px;padding:0.2em 0.3em}.console{font-family:monospace;font-size:small;display:flex;flex-direction:column;min-height:min-content}.console ol{list-style:none;counter-reset:console-counter;padding-inline-start:0px}.console ol li{counter-increment:console-counter;position:relative}.console ol li::before{content:counter(console-counter);font-weight:bold;font-size:1rem;right:7px;position:absolute;top:0;color:rgba(var(--blueaf_rgb), 0.2)}.console p, .console ol{margin-block-end:0px;margin-block-start:0px}.console li{padding:5px 10px;border-bottom:1px solid #eee}.console .error{background-color:#ff000008;color:var(--redaf)}sup.svelte-98mib8.svelte-98mib8{background-color:var(--redaf);color:var(--background-color);padding:1px 3px;border-radius:3px;font-weight:normal;margin-left:4px;font-size:xx-small}a[href="#/"].svelte-98mib8 sup.svelte-98mib8{background-color:var(--blueaf);font-size:x-small;font-weight:bold;margin-left:2px}nav.svelte-98mib8.svelte-98mib8{display:flex;position:-webkit-sticky;position:sticky;top:0;background-color:var(--navbar-background-color);--item-color:rgba(var(--blueaf_rgb), 0.5);--active-color:rgba(var(--blueaf_rgb), 0.9);z-index:10}a.svelte-98mib8.svelte-98mib8{display:block;padding:10px;color:var(--item-color);text-decoration:none}a.active.svelte-98mib8.svelte-98mib8{color:var(--active-color);border-bottom:2px solid var(--redaf)}a.svelte-98mib8.svelte-98mib8:hover{text-decoration:none}a.svelte-98mib8.svelte-98mib8:visited{color:var(--item-color)}a[href="#/"].svelte-98mib8.svelte-98mib8{margin-right:0;font-weight:700}a[href="#/log"].svelte-98mib8.svelte-98mib8{padding-right:2px;padding-top:8px;padding-bottom:0}.flexspace{display:inline-block;flex:1}nav .select{display:flex;align-items:center;margin-right:10px}nav .select select{background-color:var(--navbar-background-color);border:none}a[href="#/log"].svelte-98mib8 sup.svelte-98mib8{top:-1em;position:relative;left:-0.5em}svg.svelte-98mib8.svelte-98mib8{fill:var(--redaf);opacity:1;width:24px;height:24px}@media all and (min-width: 770px){.blockquote.svelte-15co0wx h1.svelte-15co0wx{font-size:3rem;line-height:1.2}.blockquote-wrapper.svelte-15co0wx.svelte-15co0wx{flex-wrap:nowrap;max-width:1000px;margin-left:auto;margin-right:auto;justify-content:left}.logo.svelte-15co0wx.svelte-15co0wx{margin-right:30px;margin-top:60px;margin-left:40px}section.svelte-15co0wx.svelte-15co0wx{padding:0 40px}}main.svelte-15co0wx.svelte-15co0wx{overflow-x:hidden}div.logo.svelte-15co0wx.svelte-15co0wx{font-size:4em;font-weight:800}section.svelte-15co0wx.svelte-15co0wx{margin:80px auto 0 auto;max-width:1000px;text-align:justify}section.svelte-15co0wx a.svelte-15co0wx{white-space:nowrap}ol.svelte-15co0wx.svelte-15co0wx{list-style:none;counter-reset:my-awesome-counter;margin:0;padding:0}ol.svelte-15co0wx li.svelte-15co0wx{counter-increment:my-awesome-counter;margin-bottom:0.5rem}ol.svelte-15co0wx li.svelte-15co0wx::before{content:counter(my-awesome-counter);font-weight:bold;font-size:2rem;margin-right:0.5rem;line-height:2rem;position:relative;top:0.3rem}.blockquote-wrapper{display:flex;flex-wrap:wrap;padding:0 20px;justify-content:center}.blockquote{position:relative;max-width:620px;margin:10px;align-self:center}.blockquote h1{font-family:'Abril Fatface';position:relative;color:var(--redaf);font-size:2.8rem;font-weight:normal;line-height:1;margin:0;border:solid 2px;border-color:var(--blueaf);border-radius:20px;padding:25px;text-transform:none;text-align:left}.blockquote h1:after{content:"";position:absolute;border:2px solid var(--blueaf);border-radius:0 50px 0 0;width:60px;height:60px;bottom:-62px;left:50px;border-bottom:none;border-left:none;z-index:3}.blockquote h1:before{content:"";position:absolute;width:80px;border:6px solid var(--background-color);bottom:-3px;left:50px;z-index:2}.blockquote h4{position:relative;color:var(--blueaf);font-size:1.3rem;font-weight:300;line-height:1.2;margin:0;padding-top:15px;z-index:1;margin-left:150px;padding-left:12px;text-align:left}.blockquote h4:first-letter{margin-left:-12px}.header.svelte-l9ncfd{min-height:50px}.wrapper.svelte-l9ncfd{max-width:1200px;margin:0 auto}.header.svelte-l9ncfd{min-height:50px}.wrapper.svelte-l9ncfd{max-width:1200px;margin:0 auto}div.footer.svelte-wtoba3.svelte-wtoba3{font-size:xx-small;margin-top:2rem}h1.svelte-wtoba3 small.svelte-wtoba3{font-weight:200;font-size:0.8rem}section.markdown{margin:0 auto;max-width:800px;text-align:justify}section.markdown a{white-space:nowrap}section.markdown ul{list-style-type:square;padding-inline-start:25px}section.markdown li{margin:3px 0}.modal.svelte-38j5yr{display:block}.modal-body.svelte-38j5yr{overflow-y:auto;max-height:calc(90vh - 3.875rem)}.expanded.svelte-38j5yr{height:calc(90vh - 3.875rem)}h5.svelte-38j5yr{font-size:1.25rem;margin-top:0}.flag + .flag{margin-top:3rem}.flag{display:grid;grid-column-gap:var(--flag-gap, 1em);grid-template-columns:auto 1fr;grid-template-rows:repeat(3, minmax(min-content, max-content)) 1fr;grid-template-areas:"signifier ." "signifier title" "signifier content" ". content"}.flag__title{grid-area:title;align-self:center;display:flex;align-items:center}.flag__title:empty{grid-column:1;grid-row:2}.flag__title:empty:after{content:"x";visibility:hidden}.flag__title:empty ~ .flag__content{grid-row-start:2}.flag__signifier{grid-area:signifier;display:flex;align-self:center}.flag__content{grid-area:content}.flag--large-icon svg{width:4rem;height:4rem}.flag--no-title{font-size:1.1rem}.flag--no-title p{margin:0}.flag--large-title h2.svelte-19o17qn{font-size:2.8rem}div.svelte-ydi49e{font-size:small;margin-top:50px}p.svelte-ydi49e{margin-block-end:0;margin-block-start:0}ul.svelte-16swz26{display:block;margin:0.5em 0 0 0;padding:0}li.svelte-16swz26{--size:2em;display:inline-block;border-radius:5px;width:var(--size);height:var(--size);line-height:var(--size);text-align:center;background-color:var(--redaf);color:var(--white);margin:2px 5px}li.loaded.svelte-16swz26{background-color:var(--green) !important}li.optional.svelte-16swz26{background-color:var(--color)}.dropzone{border:2px dashed var(--blueaf);border-radius:5px;background:var(--dropzone-background-color);width:80%;margin:0 auto 2em auto;position:relative}.dropzone figure{width:60px;height:60px;display:block;margin:0 auto}.dropzone figure svg{width:100%;height:100%;opacity:0.5}.dropzone figure svg use{width:100%;height:100%}.dropzone input[type=file]{opacity:0;overflow:hidden;position:absolute;width:100%;height:100%;left:0;top:0;z-index:1}.dropzone label{z-index:-1}.dropzone.focus{border-color:var(--green)}.dropzone.focus svg{fill:var(--green);opacity:1}.dropzone.focus input[type=file]:disabled + label svg{fill:var(--redaf);opacity:1}.dropzone input[type=file]:hover{cursor:pointer}.dropzone input[type=file]:disabled{cursor:not-allowed} .dropzone div[slot]{padding:20px }.dropzone div[slot=top]{text-transform:uppercase;font-weight:200;font-size:1.5rem}.dropzone div[slot=top] strong{font-weight:200}td.svelte-c5u0z8.svelte-c5u0z8:nth-child(5),th.svelte-c5u0z8.svelte-c5u0z8:nth-child(5){text-align:right;white-space:nowrap}details[open].svelte-c5u0z8 summary.svelte-c5u0z8{margin-bottom:2px}tr.warning th{color:white;background-color:var(--redaf);text-align:center}table.data thead tr:nth-child(1) th{text-align:center;font-size:large;border:none;text-transform:uppercase;font-weight:300;background-color:var(--table-background-color)}table.data tfoot tr, tfoot td{border:none;font-size:small}table.data tbody td{font-family:monospace;font-size:1.3rem}table.data{margin-top:3em;color:var(--table-color)}table.data th, table.data td{border-color:var(--table-border-color)} tbody tr:nth-child(even), thead tr:nth-child(2), thead tr:nth-child(3){background-color:var(--table-highlight-color)}tbody tr:nth-child(odd){background-color:var(--table-background-color)}summary:focus{outline:none}table.data.print{color:black}table.data.print tfoot tr{background-color:white}table.data.print thead tr:nth-child(1) th{background-color:white}table.data.print tbody tr:nth-child(odd){background-color:white}table.data.print tbody tr:nth-child(even), table.data.print thead tr:nth-child(2), table.data.print thead tr:nth-child(3){background-color:var(--light-grey)}table.data.print th, table.data.print td{border-color:#ccc}picture img{max-width:100%;width:auto;height:auto}.illustration::after{content:'Exemple de résultat';display:block;padding:2px 5px;background-color:var(--green);color:var(--background-color);opacity:0.9;font-size:1.2em;border-radius:5px;top:calc(34 * calc(100% / 1032));position:absolute;width:220px;left:50%;margin-left:-110px;text-transform:uppercase;font-weight:200}@media all and (min-width: 1032px){picture img{max-width:800px}.illustration::after{font-size:1.5rem;width:300px;margin-left:-150px}}.illustration{margin:50px auto 0 auto;width:80%;position:relative}table.data.summary.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m{table-layout:fixed}table.data.summary tfoot td{font-size:initial}.col1.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m{width:130px}.col2.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m{width:50%}table.data.summary thead th:first-child{position:relative}@media all and (min-width: 770px){.estimate.svelte-1njpx9m small.svelte-1njpx9m.svelte-1njpx9m{width:240px !important}}.estimate.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m{position:absolute;bottom:0px;left:0px}.estimate.svelte-1njpx9m small.svelte-1njpx9m.svelte-1njpx9m{border-radius:2px;padding:2px;display:block;color:var(--background-color);background-color:var(--green);font-size:small;width:126px;text-align:center}td.svelte-1njpx9m input.svelte-1njpx9m.svelte-1njpx9m{margin-bottom:0;width:120px}td.svelte-1njpx9m input.svelte-1njpx9m.svelte-1njpx9m:disabled{color:var(--green);-webkit-text-fill-color:var(--green);opacity:0.85}tbody.svelte-1njpx9m th.svelte-1njpx9m.svelte-1njpx9m{font-family:monospace;font-size:1.3rem}td.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m:not(:nth-child(1)),th.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m:not(:nth-child(1)){text-align:right}td.svelte-1njpx9m.svelte-1njpx9m.svelte-1njpx9m:not(:nth-child(1)){white-space:nowrap}tbody.svelte-1njpx9m>tr.svelte-1njpx9m:nth-child(12)>td.svelte-1njpx9m:nth-child(3){font-weight:bold}ul.svelte-9ow13k.svelte-9ow13k{padding-left:1em}li.svelte-9ow13k.svelte-9ow13k{list-style:square}h2.svelte-9ow13k.svelte-9ow13k{font-size:1.25rem;border-bottom:1px solid #eee}li.svelte-9ow13k:not(:first-child) h2.svelte-9ow13k{margin-top:1rem}h2.svelte-9ow13k .date{font-size:0.9rem}h2.svelte-9ow13k .version::before{content:"v";font-variant:normal;font-size:1rem}.item.svelte-9ow13k.svelte-9ow13k{margin-bottom:0.25rem;margin-left:0.5rem;text-indent:-0.8em}.item.svelte-9ow13k .badge{text-indent:0;margin-right:0.5rem;min-width:8ch}@media(max-width: 1024px){thead.svelte-1pkoo1p th.svelte-1pkoo1p:nth-child(4),thead.svelte-1pkoo1p th.svelte-1pkoo1p:nth-child(5),td.svelte-1pkoo1p.svelte-1pkoo1p:nth-child(5),td.svelte-1pkoo1p.svelte-1pkoo1p:nth-child(6){display:none}}th.svelte-1pkoo1p.svelte-1pkoo1p,td.svelte-1pkoo1p.svelte-1pkoo1p{text-align:right}thead.svelte-1pkoo1p tr:nth-child(2) th.svelte-1pkoo1p{border-bottom:none;padding-top:0.5em;padding-bottom:0}thead.svelte-1pkoo1p td.svelte-1pkoo1p{border-top:none;font-weight:normal;font-size:x-small}thead.svelte-1pkoo1p tr.svelte-1pkoo1p:nth-child(3){height:0.7em;line-height:0.1em;padding-top:0;padding-bottom:0}thead.svelte-1pkoo1p tr:nth-child(2) th.svelte-1pkoo1p:nth-child(1),tbody.svelte-1pkoo1p td.svelte-1pkoo1p:nth-child(2),td.svelte-1pkoo1p.svelte-1pkoo1p:nth-child(1){text-align:left}a[download]{padding:10px;background-color:var(--blueaf);display:inline-block;color:var(--white);border-radius:5px;text-decoration:none}a[download].disabled.svelte-j6w2rc{display:none} \ No newline at end of file diff --git a/sw.js b/sw.js index 940bad9..4980980 100644 --- a/sw.js +++ b/sw.js @@ -1,2 +1,2 @@ -!function(){"use strict";try{self["workbox:core:6.2.4"]&&_()}catch(e){}const e=(e,...t)=>{let s=e;return t.length>0&&(s+=` :: ${JSON.stringify(t)}`),s};class t extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const s={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},a=e=>[s.prefix,e,s.suffix].filter((e=>e&&e.length>0)).join("-"),n=e=>e||a(s.precache),r=e=>e||a(s.runtime);function i(e,t){const s=t();return e.waitUntil(s),s}try{self["workbox:precaching:6.2.4"]&&_()}catch(e){}function c(e){if(!e)throw new t("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:s,url:a}=e;if(!a)throw new t("add-to-cache-list-unexpected-type",{entry:e});if(!s){const e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}const n=new URL(a,location.href),r=new URL(a,location.href);return n.searchParams.set("__WB_REVISION__",s),{cacheKey:n.href,url:r.href}}class o{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:s})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;s?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return s}}}class h{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const s=t&&t.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return s?new Request(s):e},this._precacheController=e}}let l;async function u(e,s){let a=null;if(e.url){a=new URL(e.url).origin}if(a!==self.location.origin)throw new t("cross-origin-copy-response",{origin:a});const n=e.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=s?s(r):r,c=function(){if(void 0===l){const e=new Response("");if("body"in e)try{new Response(e.body),l=!0}catch(e){l=!1}l=!1}return l}()?n.body:await n.blob();return new Response(c,i)}function d(e,t){const s=new URL(e);for(const e of t)s.searchParams.delete(e);return s.href}class f{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}const p=new Set;try{self["workbox:strategies:6.2.4"]&&_()}catch(e){}function m(e){return"string"==typeof e?new Request(e):e}class g{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new f,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:s}=this;let a=m(e);if("navigate"===a.mode&&s instanceof FetchEvent&&s.preloadResponse){const e=await s.preloadResponse;if(e)return e}const n=this.hasCallback("fetchDidFail")?a.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:s})}catch(e){if(e instanceof Error)throw new t("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}const r=a.clone();try{let e;e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions);for(const t of this.iterateCallbacks("fetchDidSucceed"))e=await t({event:s,request:r,response:e});return e}catch(e){throw n&&await this.runCallbacks("fetchDidFail",{error:e,event:s,originalRequest:n.clone(),request:r.clone()}),e}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=m(e);let s;const{cacheName:a,matchOptions:n}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},n),{cacheName:a});s=await caches.match(r,i);for(const e of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await e({cacheName:a,matchOptions:n,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,s){const a=m(e);var n;await(n=0,new Promise((e=>setTimeout(e,n))));const r=await this.getCacheKey(a,"write");if(!s)throw new t("cache-put-with-no-response",{url:(i=r.url,new URL(String(i),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var i;const c=await this._ensureResponseSafeToCache(s);if(!c)return!1;const{cacheName:o,matchOptions:h}=this._strategy,l=await self.caches.open(o),u=this.hasCallback("cacheDidUpdate"),f=u?await async function(e,t,s,a){const n=d(t.url,s);if(t.url===n)return e.match(t,a);const r=Object.assign(Object.assign({},a),{ignoreSearch:!0}),i=await e.keys(t,r);for(const t of i)if(n===d(t.url,s))return e.match(t,a)}(l,r.clone(),["__WB_REVISION__"],h):null;try{await l.put(r,u?c.clone():c)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await async function(){for(const e of p)await e()}(),e}for(const e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:o,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){if(!this._cacheKeys[t]){let s=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))s=m(await e({mode:t,request:s,event:this.event,params:this.params}));this._cacheKeys[t]=s}return this._cacheKeys[t]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"==typeof t[e]){const s=this._pluginStateMap.get(t),a=a=>{const n=Object.assign(Object.assign({},a),{state:s});return t[e](n)};yield a}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class w{constructor(e={}){this.cacheName=r(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,s="string"==typeof e.request?new Request(e.request):e.request,a="params"in e?e.params:void 0,n=new g(this,{event:t,request:s,params:a}),r=this._getResponse(n,s,t);return[r,this._awaitComplete(r,n,s,t)]}async _getResponse(e,s,a){let n;await e.runCallbacks("handlerWillStart",{event:a,request:s});try{if(n=await this._handle(s,e),!n||"error"===n.type)throw new t("no-response",{url:s.url})}catch(t){if(t instanceof Error)for(const r of e.iterateCallbacks("handlerDidError"))if(n=await r({error:t,event:a,request:s}),n)break;if(!n)throw t}for(const t of e.iterateCallbacks("handlerWillRespond"))n=await t({event:a,request:s,response:n});return n}async _awaitComplete(e,t,s,a){let n,r;try{n=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:a,request:s,response:n}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:s,response:n,error:r}),t.destroy(),r)throw r}}class y extends w{constructor(e={}){e.cacheName=n(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(y.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const s=await t.cacheMatch(e);return s||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,s){let a;if(!this._fallbackToNetwork)throw new t("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return a=await s.fetch(e),a}async _handleInstall(e,s){this._useDefaultCacheabilityPluginIfNeeded();const a=await s.fetch(e);if(!await s.cachePut(e,a.clone()))throw new t("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,a]of this.plugins.entries())a!==y.copyRedirectedCacheableResponsesPlugin&&(a===y.defaultPrecacheCacheabilityPlugin&&(e=s),a.cacheWillUpdate&&t++);0===t?this.plugins.push(y.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}y.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},y.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await u(e):e};class v{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new y({cacheName:n(e),plugins:[...t,new h({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const s=[];for(const a of e){"string"==typeof a?s.push(a):a&&void 0===a.revision&&s.push(a.url);const{cacheKey:e,url:n}=c(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(n)&&this._urlsToCacheKeys.get(n)!==e)throw new t("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(n),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new t("add-to-cache-list-conflicting-integrities",{url:n});this._cacheKeysToIntegrities.set(e,a.integrity)}if(this._urlsToCacheKeys.set(n,e),this._urlsToCacheModes.set(n,r),s.length>0){const e=`Workbox is precaching URLs without revision info: ${s.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return i(e,(async()=>{const t=new o;this.strategy.plugins.push(t);for(const[t,s]of this._urlsToCacheKeys){const a=this._cacheKeysToIntegrities.get(s),n=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:a,cache:n,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:e}))}const{updatedURLs:s,notUpdatedURLs:a}=t;return{updatedURLs:s,notUpdatedURLs:a}}))}activate(e){return i(e,(async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),a=[];for(const n of t)s.has(n.url)||(await e.delete(n),a.push(n.url));return{deletedURLs:a}}))}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}async matchPrecache(e){const t=e instanceof Request?e.url:e,s=this.getCacheKeyForURL(t);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(e){const s=this.getCacheKeyForURL(e);if(!s)throw new t("non-precached-url",{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:s},t.params),this.strategy.handle(t))}}let b;const x=()=>(b||(b=new v),b);try{self["workbox:routing:6.2.4"]&&_()}catch(e){}const R=e=>e&&"object"==typeof e?e:{handle:e};class C{constructor(e,t,s="GET"){this.handler=R(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=R(e)}}class E extends C{constructor(e,t,s){super((({url:t})=>{const s=e.exec(t.href);if(s&&(t.origin===location.origin||0===s.index))return s.slice(1)}),t,s)}}class L{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data,s=Promise.all(t.urlsToCache.map((t=>{"string"==typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})})));e.waitUntil(s),e.ports&&e.ports[0]&&s.then((()=>e.ports[0].postMessage(!0)))}}))}handleRequest({request:e,event:t}){const s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return;const a=s.origin===location.origin,{params:n,route:r}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:s});let i=r&&r.handler;const c=e.method;if(!i&&this._defaultHandlerMap.has(c)&&(i=this._defaultHandlerMap.get(c)),!i)return;let o;try{o=i.handle({url:s,request:e,event:t,params:n})}catch(e){o=Promise.reject(e)}const h=r&&r.catchHandler;return o instanceof Promise&&(this._catchHandler||h)&&(o=o.catch((async a=>{if(h)try{return await h.handle({url:s,request:e,event:t,params:n})}catch(e){e instanceof Error&&(a=e)}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw a}))),o}findMatchingRoute({url:e,sameOrigin:t,request:s,event:a}){const n=this._routes.get(s.method)||[];for(const r of n){let n;const i=r.match({url:e,sameOrigin:t,request:s,event:a});if(i)return n=i,(Array.isArray(n)&&0===n.length||i.constructor===Object&&0===Object.keys(i).length||"boolean"==typeof i)&&(n=void 0),{route:r,params:n}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,R(e))}setCatchHandler(e){this._catchHandler=R(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t("unregister-route-but-not-found-with-method",{method:e.method});const s=this._routes.get(e.method).indexOf(e);if(!(s>-1))throw new t("unregister-route-route-not-registered");this._routes.get(e.method).splice(s,1)}}let U;const D=()=>(U||(U=new L,U.addFetchListener(),U.addCacheListener()),U);function q(e,s,a){let n;if("string"==typeof e){const t=new URL(e,location.href);n=new C((({url:e})=>e.href===t.href),s,a)}else if(e instanceof RegExp)n=new E(e,s,a);else if("function"==typeof e)n=new C(e,s,a);else{if(!(e instanceof C))throw new t("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});n=e}return D().registerRoute(n),n}class k extends C{constructor(e,t){super((({request:s})=>{const a=e.getURLsToCacheKeys();for(const e of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:a=!0,urlManipulation:n}={}){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e,t=[]){for(const s of[...e.searchParams.keys()])t.some((e=>e.test(s)))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(a){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(n){const e=n({url:r});for(const t of e)yield t.href}}(s.url,t)){const t=a.get(e);if(t)return{cacheKey:t}}}),e.strategy)}}class T extends w{async _handle(e,s){let a,n=await s.cacheMatch(e);if(!n)try{n=await s.fetchAndCachePut(e)}catch(e){e instanceof Error&&(a=e)}if(!n)throw new t("no-response",{url:e.url,error:a});return n}}const N={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};function j(e){e.then((()=>{}))}let I,P;const A=new WeakMap,M=new WeakMap,K=new WeakMap,S=new WeakMap,O=new WeakMap;let W={get(e,t,s){if(e instanceof IDBTransaction){if("done"===t)return M.get(e);if("objectStoreNames"===t)return e.objectStoreNames||K.get(e);if("store"===t)return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return F(e[t])},set:(e,t,s)=>(e[t]=s,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function B(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(P||(P=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(G(this),t),F(A.get(this))}:function(...t){return F(e.apply(G(this),t))}:function(t,...s){const a=e.call(G(this),t,...s);return K.set(a,t.sort?t.sort():[t]),F(a)}}function H(e){return"function"==typeof e?B(e):(e instanceof IDBTransaction&&function(e){if(M.has(e))return;const t=new Promise(((t,s)=>{const a=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",r),e.removeEventListener("abort",r)},n=()=>{t(),a()},r=()=>{s(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",n),e.addEventListener("error",r),e.addEventListener("abort",r)}));M.set(e,t)}(e),t=e,(I||(I=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((e=>t instanceof e))?new Proxy(e,W):e);var t}function F(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,s)=>{const a=()=>{e.removeEventListener("success",n),e.removeEventListener("error",r)},n=()=>{t(F(e.result)),a()},r=()=>{s(e.error),a()};e.addEventListener("success",n),e.addEventListener("error",r)}));return t.then((t=>{t instanceof IDBCursor&&A.set(t,e)})).catch((()=>{})),O.set(t,e),t}(e);if(S.has(e))return S.get(e);const t=H(e);return t!==e&&(S.set(e,t),O.set(t,e)),t}const G=e=>O.get(e);const V=["get","getKey","getAll","getAllKeys","count"],$=["put","add","delete","clear"],Q=new Map;function J(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(Q.get(t))return Q.get(t);const s=t.replace(/FromIndex$/,""),a=t!==s,n=$.includes(s);if(!(s in(a?IDBIndex:IDBObjectStore).prototype)||!n&&!V.includes(s))return;const r=async function(e,...t){const r=this.transaction(e,n?"readwrite":"readonly");let i=r.store;return a&&(i=i.index(t.shift())),(await Promise.all([i[s](...t),n&&r.done]))[0]};return Q.set(t,r),r}W=(e=>({...e,get:(t,s,a)=>J(t,s)||e.get(t,s,a),has:(t,s)=>!!J(t,s)||e.has(t,s)}))(W);try{self["workbox:expiration:6.2.4"]&&_()}catch(e){}const z="cache-entries",X=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class Y{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(z,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){const s=indexedDB.deleteDatabase(e);t&&s.addEventListener("blocked",(()=>t())),F(s).then((()=>{}))}(this._cacheName)}async setTimestamp(e,t){const s={url:e=X(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},a=await this.getDb();await a.put(z,s)}async getTimestamp(e){const t=await this.getDb(),s=await t.get(z,this._getId(e));return null==s?void 0:s.timestamp}async expireEntries(e,t){const s=await this.getDb();let a=await s.transaction(z).store.index("timestamp").openCursor(null,"prev");const n=[];let r=0;for(;a;){const s=a.value;s.cacheName===this._cacheName&&(e&&s.timestamp=t?n.push(a.value):r++),a=await a.continue()}const i=[];for(const e of n)await s.delete(z,e.id),i.push(e.url);return i}_getId(e){return this._cacheName+"|"+X(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:s,upgrade:a,blocking:n,terminated:r}={}){const i=indexedDB.open(e,t),c=F(i);return a&&i.addEventListener("upgradeneeded",(e=>{a(F(i.result),e.oldVersion,e.newVersion,F(i.transaction))})),s&&i.addEventListener("blocked",(()=>s())),c.then((e=>{r&&e.addEventListener("close",(()=>r())),n&&e.addEventListener("versionchange",(()=>n()))})).catch((()=>{})),c}("workbox-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Z{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Y(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),s=await self.caches.open(this._cacheName);for(const e of t)await s.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,j(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),s=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t{if(!a)return null;const n=this._isResponseDateFresh(a),r=this._getCacheExpiration(s);j(r.expireEntries());const i=r.updateTimestamp(t.url);if(e)try{e.waitUntil(i)}catch(e){}return n?a:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{const s=this._getCacheExpiration(e);await s.updateTimestamp(t.url),await s.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&function(e){p.add(e)}((()=>this.deleteCacheAndMetadata()))}_getCacheExpiration(e){if(e===r())throw new t("expire-custom-caches-only");let s=this._cacheExpirations.get(e);return s||(s=new Z(e,this._config),this._cacheExpirations.set(e,s)),s}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(null===t)return!0;return t>=Date.now()-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),s=new Date(t).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}const te=["flytax-data","flytax-data2","flytax-data3","flytax-warmup","flytax-img"],se="flytax-warmup2",ae="flytax-data4",ne="flytax-img2";var re,ie;self.__WB_DISABLE_DEV_LOGS=!0,re=[{"revision":"24c5bc41bef7bec65bd704740c32c81f","url":"index.html"},{"revision":"9e78682d1f45a80a9a7f764b11fd27c1","url":"css/bundle.css"},{"revision":"c5dbab70daaa7651703812efd9ce1b9a","url":"js/bundle.js"},{"revision":"8e8c75d04b37e2c560b0657abeb79361","url":"CHANGELOG.json"}],ie={},function(e){x().precache(e)}(re),function(e){const t=x();q(new k(t,e))}(ie);const ce=["https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.min.js","https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.worker.min.js","https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.2.0/jspdf.umd.min.js","https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.13/jspdf.plugin.autotable.min.js"],oe=["./fonts/HelveticaUTF8.ttf","../fonts/abril-fatface-v12-latin-ext_latin-regular.woff2".replace("../","./"),"../fonts/abril-fatface-v12-latin-ext_latin-regular.woff".replace("../","./")],he=ce.concat(oe),le="./data/data2023.json;./data/data2022.json;./data/data2021.json;./data/data2020.json;./data/data2019.json;./data/data2018.json".split(";"),ue=["./img/fm_exemple3.jpg","./img/s_exemple3.jpg"];q(/.+\/(pdf\.min\.js|pdf\.worker\.min\.js|jspdf\..+min\.js|HelveticaUTF8\.ttf|abril-fatface-v12-latin-ext_latin-regular\.woff2?)$/,new T({cacheName:se})),q((({url:e})=>e.pathname.match(/\/data\/data[0-9]{4}\.json/)),new T({cacheName:ae,plugins:[new ee({maxEntries:6})]})),q((({url:e})=>e.pathname.match(/\/img\//)),new T({cacheName:ne,plugins:[new ee({maxEntries:6})]})),q((({url:e})=>e.pathname.match(/\/flytax-icons\/.+\.png/)),new class extends w{constructor(e={}){super(e),this.plugins.some((e=>"cacheWillUpdate"in e))||this.plugins.unshift(N)}async _handle(e,s){const a=s.fetchAndCachePut(e).catch((()=>{}));let n,r=await s.cacheMatch(e);if(r);else try{r=await a}catch(e){e instanceof Error&&(n=e)}if(!r)throw new t("no-response",{url:e.url,error:n});return r}}({cacheName:"flytax-icons",plugins:[new ee({maxEntries:20})]}));const de=function(e,t=[],s=[]){if(!(e instanceof Cache&&Array.isArray(t)&&Array.isArray(s)))return Promise.reject();let a=[];return Promise.all(t.map((function(t){return caches.match(t).then((function(s){return s?e.put(t,s):(a.push(t),Promise.resolve())}))}))).then((function(){return e.addAll(a.concat(s))}))};self.addEventListener("install",(e=>{e.waitUntil(caches.keys().then((e=>Promise.resolve())).then((()=>caches.open(se))).then((e=>de(e,he))).then((()=>caches.open(ae))).then((e=>de(e,le))).then((()=>caches.open(ne))).then((e=>de(e,ue))).then((()=>Promise.resolve())))}));const fe=e=>te.includes(e),pe=e=>{if(-1!==ce.indexOf(e.url))return!1;for(const t of oe)if(t.startsWith("http")){if(e.url===t)return!1}else if(-1!==e.url.indexOf(t.replace(/^\./,"")))return!1;return!0};self.addEventListener("activate",(function(e){e.waitUntil(caches.keys().then((function(e){return e.filter(fe).map((e=>caches.delete(e)))})).then((()=>caches.open(se))).then((function(e){return e.keys().then((function(t){return Promise.all(t.filter(pe).map((t=>e.delete(t))))}))})).then((()=>self.clients.claim())))})),self.addEventListener("message",(e=>{!e.data||"SKIP_WAITING"!==e.data&&"SKIP_WAITING"!==e.data.type?e.data&&"GET_VERSION"===e.data.type?e.ports[0].postMessage("1.3.5"):e.data&&"CLIENTS_CLAIM"===e.data.type&&self.clients.claim():self.skipWaiting()}))}(); +!function(){"use strict";try{self["workbox:core:6.2.4"]&&_()}catch(e){}const e=(e,...t)=>{let s=e;return t.length>0&&(s+=` :: ${JSON.stringify(t)}`),s};class t extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const s={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},a=e=>[s.prefix,e,s.suffix].filter((e=>e&&e.length>0)).join("-"),n=e=>e||a(s.precache),r=e=>e||a(s.runtime);function i(e,t){const s=t();return e.waitUntil(s),s}try{self["workbox:precaching:6.2.4"]&&_()}catch(e){}function c(e){if(!e)throw new t("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:s,url:a}=e;if(!a)throw new t("add-to-cache-list-unexpected-type",{entry:e});if(!s){const e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}const n=new URL(a,location.href),r=new URL(a,location.href);return n.searchParams.set("__WB_REVISION__",s),{cacheKey:n.href,url:r.href}}class o{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:s})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;s?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return s}}}class h{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const s=t&&t.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return s?new Request(s):e},this._precacheController=e}}let l;async function u(e,s){let a=null;if(e.url){a=new URL(e.url).origin}if(a!==self.location.origin)throw new t("cross-origin-copy-response",{origin:a});const n=e.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=s?s(r):r,c=function(){if(void 0===l){const e=new Response("");if("body"in e)try{new Response(e.body),l=!0}catch(e){l=!1}l=!1}return l}()?n.body:await n.blob();return new Response(c,i)}function d(e,t){const s=new URL(e);for(const e of t)s.searchParams.delete(e);return s.href}class f{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}const p=new Set;try{self["workbox:strategies:6.2.4"]&&_()}catch(e){}function m(e){return"string"==typeof e?new Request(e):e}class g{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new f,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:s}=this;let a=m(e);if("navigate"===a.mode&&s instanceof FetchEvent&&s.preloadResponse){const e=await s.preloadResponse;if(e)return e}const n=this.hasCallback("fetchDidFail")?a.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:s})}catch(e){if(e instanceof Error)throw new t("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}const r=a.clone();try{let e;e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions);for(const t of this.iterateCallbacks("fetchDidSucceed"))e=await t({event:s,request:r,response:e});return e}catch(e){throw n&&await this.runCallbacks("fetchDidFail",{error:e,event:s,originalRequest:n.clone(),request:r.clone()}),e}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=m(e);let s;const{cacheName:a,matchOptions:n}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},n),{cacheName:a});s=await caches.match(r,i);for(const e of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await e({cacheName:a,matchOptions:n,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,s){const a=m(e);var n;await(n=0,new Promise((e=>setTimeout(e,n))));const r=await this.getCacheKey(a,"write");if(!s)throw new t("cache-put-with-no-response",{url:(i=r.url,new URL(String(i),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var i;const c=await this._ensureResponseSafeToCache(s);if(!c)return!1;const{cacheName:o,matchOptions:h}=this._strategy,l=await self.caches.open(o),u=this.hasCallback("cacheDidUpdate"),f=u?await async function(e,t,s,a){const n=d(t.url,s);if(t.url===n)return e.match(t,a);const r=Object.assign(Object.assign({},a),{ignoreSearch:!0}),i=await e.keys(t,r);for(const t of i)if(n===d(t.url,s))return e.match(t,a)}(l,r.clone(),["__WB_REVISION__"],h):null;try{await l.put(r,u?c.clone():c)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await async function(){for(const e of p)await e()}(),e}for(const e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:o,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){if(!this._cacheKeys[t]){let s=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))s=m(await e({mode:t,request:s,event:this.event,params:this.params}));this._cacheKeys[t]=s}return this._cacheKeys[t]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"==typeof t[e]){const s=this._pluginStateMap.get(t),a=a=>{const n=Object.assign(Object.assign({},a),{state:s});return t[e](n)};yield a}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class w{constructor(e={}){this.cacheName=r(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,s="string"==typeof e.request?new Request(e.request):e.request,a="params"in e?e.params:void 0,n=new g(this,{event:t,request:s,params:a}),r=this._getResponse(n,s,t);return[r,this._awaitComplete(r,n,s,t)]}async _getResponse(e,s,a){let n;await e.runCallbacks("handlerWillStart",{event:a,request:s});try{if(n=await this._handle(s,e),!n||"error"===n.type)throw new t("no-response",{url:s.url})}catch(t){if(t instanceof Error)for(const r of e.iterateCallbacks("handlerDidError"))if(n=await r({error:t,event:a,request:s}),n)break;if(!n)throw t}for(const t of e.iterateCallbacks("handlerWillRespond"))n=await t({event:a,request:s,response:n});return n}async _awaitComplete(e,t,s,a){let n,r;try{n=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:a,request:s,response:n}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:s,response:n,error:r}),t.destroy(),r)throw r}}class y extends w{constructor(e={}){e.cacheName=n(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(y.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const s=await t.cacheMatch(e);return s||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,s){let a;if(!this._fallbackToNetwork)throw new t("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return a=await s.fetch(e),a}async _handleInstall(e,s){this._useDefaultCacheabilityPluginIfNeeded();const a=await s.fetch(e);if(!await s.cachePut(e,a.clone()))throw new t("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,a]of this.plugins.entries())a!==y.copyRedirectedCacheableResponsesPlugin&&(a===y.defaultPrecacheCacheabilityPlugin&&(e=s),a.cacheWillUpdate&&t++);0===t?this.plugins.push(y.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}y.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},y.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await u(e):e};class v{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new y({cacheName:n(e),plugins:[...t,new h({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const s=[];for(const a of e){"string"==typeof a?s.push(a):a&&void 0===a.revision&&s.push(a.url);const{cacheKey:e,url:n}=c(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(n)&&this._urlsToCacheKeys.get(n)!==e)throw new t("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(n),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new t("add-to-cache-list-conflicting-integrities",{url:n});this._cacheKeysToIntegrities.set(e,a.integrity)}if(this._urlsToCacheKeys.set(n,e),this._urlsToCacheModes.set(n,r),s.length>0){const e=`Workbox is precaching URLs without revision info: ${s.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return i(e,(async()=>{const t=new o;this.strategy.plugins.push(t);for(const[t,s]of this._urlsToCacheKeys){const a=this._cacheKeysToIntegrities.get(s),n=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:a,cache:n,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:e}))}const{updatedURLs:s,notUpdatedURLs:a}=t;return{updatedURLs:s,notUpdatedURLs:a}}))}activate(e){return i(e,(async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),a=[];for(const n of t)s.has(n.url)||(await e.delete(n),a.push(n.url));return{deletedURLs:a}}))}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}async matchPrecache(e){const t=e instanceof Request?e.url:e,s=this.getCacheKeyForURL(t);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(e){const s=this.getCacheKeyForURL(e);if(!s)throw new t("non-precached-url",{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:s},t.params),this.strategy.handle(t))}}let b;const x=()=>(b||(b=new v),b);try{self["workbox:routing:6.2.4"]&&_()}catch(e){}const R=e=>e&&"object"==typeof e?e:{handle:e};class C{constructor(e,t,s="GET"){this.handler=R(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=R(e)}}class E extends C{constructor(e,t,s){super((({url:t})=>{const s=e.exec(t.href);if(s&&(t.origin===location.origin||0===s.index))return s.slice(1)}),t,s)}}class L{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data,s=Promise.all(t.urlsToCache.map((t=>{"string"==typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})})));e.waitUntil(s),e.ports&&e.ports[0]&&s.then((()=>e.ports[0].postMessage(!0)))}}))}handleRequest({request:e,event:t}){const s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return;const a=s.origin===location.origin,{params:n,route:r}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:s});let i=r&&r.handler;const c=e.method;if(!i&&this._defaultHandlerMap.has(c)&&(i=this._defaultHandlerMap.get(c)),!i)return;let o;try{o=i.handle({url:s,request:e,event:t,params:n})}catch(e){o=Promise.reject(e)}const h=r&&r.catchHandler;return o instanceof Promise&&(this._catchHandler||h)&&(o=o.catch((async a=>{if(h)try{return await h.handle({url:s,request:e,event:t,params:n})}catch(e){e instanceof Error&&(a=e)}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw a}))),o}findMatchingRoute({url:e,sameOrigin:t,request:s,event:a}){const n=this._routes.get(s.method)||[];for(const r of n){let n;const i=r.match({url:e,sameOrigin:t,request:s,event:a});if(i)return n=i,(Array.isArray(n)&&0===n.length||i.constructor===Object&&0===Object.keys(i).length||"boolean"==typeof i)&&(n=void 0),{route:r,params:n}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,R(e))}setCatchHandler(e){this._catchHandler=R(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t("unregister-route-but-not-found-with-method",{method:e.method});const s=this._routes.get(e.method).indexOf(e);if(!(s>-1))throw new t("unregister-route-route-not-registered");this._routes.get(e.method).splice(s,1)}}let U;const D=()=>(U||(U=new L,U.addFetchListener(),U.addCacheListener()),U);function q(e,s,a){let n;if("string"==typeof e){const t=new URL(e,location.href);n=new C((({url:e})=>e.href===t.href),s,a)}else if(e instanceof RegExp)n=new E(e,s,a);else if("function"==typeof e)n=new C(e,s,a);else{if(!(e instanceof C))throw new t("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});n=e}return D().registerRoute(n),n}class k extends C{constructor(e,t){super((({request:s})=>{const a=e.getURLsToCacheKeys();for(const e of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:a=!0,urlManipulation:n}={}){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e,t=[]){for(const s of[...e.searchParams.keys()])t.some((e=>e.test(s)))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(a){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(n){const e=n({url:r});for(const t of e)yield t.href}}(s.url,t)){const t=a.get(e);if(t)return{cacheKey:t}}}),e.strategy)}}class T extends w{async _handle(e,s){let a,n=await s.cacheMatch(e);if(!n)try{n=await s.fetchAndCachePut(e)}catch(e){e instanceof Error&&(a=e)}if(!n)throw new t("no-response",{url:e.url,error:a});return n}}const N={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};function j(e){e.then((()=>{}))}let I,P;const A=new WeakMap,M=new WeakMap,K=new WeakMap,S=new WeakMap,O=new WeakMap;let W={get(e,t,s){if(e instanceof IDBTransaction){if("done"===t)return M.get(e);if("objectStoreNames"===t)return e.objectStoreNames||K.get(e);if("store"===t)return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return F(e[t])},set:(e,t,s)=>(e[t]=s,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function B(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(P||(P=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(G(this),t),F(A.get(this))}:function(...t){return F(e.apply(G(this),t))}:function(t,...s){const a=e.call(G(this),t,...s);return K.set(a,t.sort?t.sort():[t]),F(a)}}function H(e){return"function"==typeof e?B(e):(e instanceof IDBTransaction&&function(e){if(M.has(e))return;const t=new Promise(((t,s)=>{const a=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",r),e.removeEventListener("abort",r)},n=()=>{t(),a()},r=()=>{s(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",n),e.addEventListener("error",r),e.addEventListener("abort",r)}));M.set(e,t)}(e),t=e,(I||(I=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((e=>t instanceof e))?new Proxy(e,W):e);var t}function F(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,s)=>{const a=()=>{e.removeEventListener("success",n),e.removeEventListener("error",r)},n=()=>{t(F(e.result)),a()},r=()=>{s(e.error),a()};e.addEventListener("success",n),e.addEventListener("error",r)}));return t.then((t=>{t instanceof IDBCursor&&A.set(t,e)})).catch((()=>{})),O.set(t,e),t}(e);if(S.has(e))return S.get(e);const t=H(e);return t!==e&&(S.set(e,t),O.set(t,e)),t}const G=e=>O.get(e);const V=["get","getKey","getAll","getAllKeys","count"],$=["put","add","delete","clear"],Q=new Map;function J(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(Q.get(t))return Q.get(t);const s=t.replace(/FromIndex$/,""),a=t!==s,n=$.includes(s);if(!(s in(a?IDBIndex:IDBObjectStore).prototype)||!n&&!V.includes(s))return;const r=async function(e,...t){const r=this.transaction(e,n?"readwrite":"readonly");let i=r.store;return a&&(i=i.index(t.shift())),(await Promise.all([i[s](...t),n&&r.done]))[0]};return Q.set(t,r),r}W=(e=>({...e,get:(t,s,a)=>J(t,s)||e.get(t,s,a),has:(t,s)=>!!J(t,s)||e.has(t,s)}))(W);try{self["workbox:expiration:6.2.4"]&&_()}catch(e){}const z="cache-entries",X=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class Y{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(z,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){const s=indexedDB.deleteDatabase(e);t&&s.addEventListener("blocked",(()=>t())),F(s).then((()=>{}))}(this._cacheName)}async setTimestamp(e,t){const s={url:e=X(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},a=await this.getDb();await a.put(z,s)}async getTimestamp(e){const t=await this.getDb(),s=await t.get(z,this._getId(e));return null==s?void 0:s.timestamp}async expireEntries(e,t){const s=await this.getDb();let a=await s.transaction(z).store.index("timestamp").openCursor(null,"prev");const n=[];let r=0;for(;a;){const s=a.value;s.cacheName===this._cacheName&&(e&&s.timestamp=t?n.push(a.value):r++),a=await a.continue()}const i=[];for(const e of n)await s.delete(z,e.id),i.push(e.url);return i}_getId(e){return this._cacheName+"|"+X(e)}async getDb(){return this._db||(this._db=await function(e,t,{blocked:s,upgrade:a,blocking:n,terminated:r}={}){const i=indexedDB.open(e,t),c=F(i);return a&&i.addEventListener("upgradeneeded",(e=>{a(F(i.result),e.oldVersion,e.newVersion,F(i.transaction))})),s&&i.addEventListener("blocked",(()=>s())),c.then((e=>{r&&e.addEventListener("close",(()=>r())),n&&e.addEventListener("versionchange",(()=>n()))})).catch((()=>{})),c}("workbox-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class Z{constructor(e,t={}){this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new Y(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),s=await self.caches.open(this._cacheName);for(const e of t)await s.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,j(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),s=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t{if(!a)return null;const n=this._isResponseDateFresh(a),r=this._getCacheExpiration(s);j(r.expireEntries());const i=r.updateTimestamp(t.url);if(e)try{e.waitUntil(i)}catch(e){}return n?a:null},this.cacheDidUpdate=async({cacheName:e,request:t})=>{const s=this._getCacheExpiration(e);await s.updateTimestamp(t.url),await s.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&function(e){p.add(e)}((()=>this.deleteCacheAndMetadata()))}_getCacheExpiration(e){if(e===r())throw new t("expire-custom-caches-only");let s=this._cacheExpirations.get(e);return s||(s=new Z(e,this._config),this._cacheExpirations.set(e,s)),s}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(null===t)return!0;return t>=Date.now()-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),s=new Date(t).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}const te=["flytax-data","flytax-data2","flytax-data3","flytax-warmup","flytax-img"],se="flytax-warmup2",ae="flytax-data4",ne="flytax-img2";var re,ie;self.__WB_DISABLE_DEV_LOGS=!0,re=[{"revision":"24c5bc41bef7bec65bd704740c32c81f","url":"index.html"},{"revision":"7bce731b6b7e60e40497c09144984875","url":"css/bundle.css"},{"revision":"c5dbab70daaa7651703812efd9ce1b9a","url":"js/bundle.js"},{"revision":"8e8c75d04b37e2c560b0657abeb79361","url":"CHANGELOG.json"}],ie={},function(e){x().precache(e)}(re),function(e){const t=x();q(new k(t,e))}(ie);const ce=["https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.min.js","https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.worker.min.js","https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.2.0/jspdf.umd.min.js","https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.13/jspdf.plugin.autotable.min.js"],oe=["./fonts/HelveticaUTF8.ttf","../fonts/abril-fatface-v12-latin-ext_latin-regular.woff2".replace("../","./"),"../fonts/abril-fatface-v12-latin-ext_latin-regular.woff".replace("../","./")],he=ce.concat(oe),le="./data/data2023.json;./data/data2022.json;./data/data2021.json;./data/data2020.json;./data/data2019.json;./data/data2018.json".split(";"),ue=["./img/fm_exemple3.jpg","./img/s_exemple3.jpg"];q(/.+\/(pdf\.min\.js|pdf\.worker\.min\.js|jspdf\..+min\.js|HelveticaUTF8\.ttf|abril-fatface-v12-latin-ext_latin-regular\.woff2?)$/,new T({cacheName:se})),q((({url:e})=>e.pathname.match(/\/data\/data[0-9]{4}\.json/)),new T({cacheName:ae,plugins:[new ee({maxEntries:6})]})),q((({url:e})=>e.pathname.match(/\/img\//)),new T({cacheName:ne,plugins:[new ee({maxEntries:6})]})),q((({url:e})=>e.pathname.match(/\/flytax-icons\/.+\.png/)),new class extends w{constructor(e={}){super(e),this.plugins.some((e=>"cacheWillUpdate"in e))||this.plugins.unshift(N)}async _handle(e,s){const a=s.fetchAndCachePut(e).catch((()=>{}));let n,r=await s.cacheMatch(e);if(r);else try{r=await a}catch(e){e instanceof Error&&(n=e)}if(!r)throw new t("no-response",{url:e.url,error:n});return r}}({cacheName:"flytax-icons",plugins:[new ee({maxEntries:20})]}));const de=function(e,t=[],s=[]){if(!(e instanceof Cache&&Array.isArray(t)&&Array.isArray(s)))return Promise.reject();let a=[];return Promise.all(t.map((function(t){return caches.match(t).then((function(s){return s?e.put(t,s):(a.push(t),Promise.resolve())}))}))).then((function(){return e.addAll(a.concat(s))}))};self.addEventListener("install",(e=>{e.waitUntil(caches.keys().then((e=>Promise.resolve())).then((()=>caches.open(se))).then((e=>de(e,he))).then((()=>caches.open(ae))).then((e=>de(e,le))).then((()=>caches.open(ne))).then((e=>de(e,ue))).then((()=>Promise.resolve())))}));const fe=e=>te.includes(e),pe=e=>{if(-1!==ce.indexOf(e.url))return!1;for(const t of oe)if(t.startsWith("http")){if(e.url===t)return!1}else if(-1!==e.url.indexOf(t.replace(/^\./,"")))return!1;return!0};self.addEventListener("activate",(function(e){e.waitUntil(caches.keys().then((function(e){return e.filter(fe).map((e=>caches.delete(e)))})).then((()=>caches.open(se))).then((function(e){return e.keys().then((function(t){return Promise.all(t.filter(pe).map((t=>e.delete(t))))}))})).then((()=>self.clients.claim())))})),self.addEventListener("message",(e=>{!e.data||"SKIP_WAITING"!==e.data&&"SKIP_WAITING"!==e.data.type?e.data&&"GET_VERSION"===e.data.type?e.ports[0].postMessage("1.3.5"):e.data&&"CLIENTS_CLAIM"===e.data.type&&self.clients.claim():self.skipWaiting()}))}(); //# sourceMappingURL=sw.js.map