From ec630e8dc30ff9ef2699284e0c4faab918fa3226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vincent=20Moitti=C3=A9?= Date: Mon, 27 May 2024 09:56:13 +0200 Subject: [PATCH] wip --- dist/terrator-plugin.js | 2 +- dist/terrator-plugin.js.LICENSE.txt | 2 + package-lock.json | 1893 ++++++-------------- package.json | 9 +- public/icons/error.svg | 2 +- public/icons/menu.svg | 2 +- public/icons/resize.svg | 2 +- public/markers/startLinkMarker.svg | 4 +- public/models/DefaultContainer.svg | 108 +- public/models/DefaultModel.svg | 92 +- src/antlr/terraformParser.js | 128 +- src/assets/metadata/index.js | 2 +- src/index.js | 2 +- src/metadata/TerraformMetadata.js | 8 +- src/models/TerraformComponent.js | 2 +- src/models/TerraformComponentDefinition.js | 13 +- src/models/TerraformConfiguration.js | 35 +- src/models/TerraformData.js | 2 +- src/models/TerraformPlugin.js | 17 +- src/parser/TerraformListener.js | 8 +- src/parser/TerraformParser.js | 6 +- src/render/TerraformRenderer.js | 2 +- 22 files changed, 738 insertions(+), 1603 deletions(-) diff --git a/dist/terrator-plugin.js b/dist/terrator-plugin.js index 4c68c4bf..9cb68654 100644 --- a/dist/terrator-plugin.js +++ b/dist/terrator-plugin.js @@ -1,2 +1,2 @@ /*! For license information please see terrator-plugin.js.LICENSE.txt */ -(()=>{var e={96:(e,t,n)=>{"use strict";var r=n(153),i=n(610),o=n(531),s=n(22),a=n(35),c=n(516),u=n(753),l=n(978),h=n(889);e.exports=v,v.prototype.validate=function(e,t){var n;if("string"==typeof e){if(!(n=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);n=r.validate||this._compile(r)}var i=n(t);return!0!==n.$async&&(this.errors=n.errors),i},v.prototype.compile=function(e,t){var n=this._addSchema(e,void 0,t);return n.validate||this._compile(n)},v.prototype.addSchema=function(e,t,n,r){if(Array.isArray(e)){for(var o=0;o{"use strict";var t=e.exports=function(){this._cache={}};t.prototype.put=function(e,t){this._cache[e]=t},t.prototype.get=function(e){return this._cache[e]},t.prototype.del=function(e){delete this._cache[e]},t.prototype.clear=function(){this._cache={}}},931:(e,t,n)=>{"use strict";var r=n(802).MissingRef;e.exports=function e(t,n,i){var o=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof n&&(i=n,n=void 0);var s=a(t).then((function(){var e=o._addSchema(t,void 0,n);return e.validate||c(e)}));return i&&s.then((function(e){i(null,e)}),i),s;function a(t){var n=t.$schema;return n&&!o.getSchema(n)?e.call(o,{$ref:n},!0):Promise.resolve()}function c(e){try{return o._compile(e)}catch(t){if(t instanceof r)return function(t){var r=t.missingSchema;if(u(r))throw new Error("Schema "+r+" is loaded but "+t.missingRef+" cannot be resolved");var i=o._loadingSchemas[r];return i||(i=o._loadingSchemas[r]=o._opts.loadSchema(r)).then(s,s),i.then((function(e){if(!u(r))return a(e).then((function(){u(r)||o.addSchema(e,r,void 0,n)}))})).then((function(){return c(e)}));function s(){delete o._loadingSchemas[r]}function u(e){return o._refs[e]||o._schemas[e]}}(t);throw t}}}},802:(e,t,n)=>{"use strict";var r=n(610);function i(e,t,n){this.message=n||i.message(e,t),this.missingRef=r.url(e,t),this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:o((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:o(i)},i.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},516:(e,t,n)=>{"use strict";var r=n(889),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,c=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,u=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,l=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,f=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,d=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return e="full"==e?"full":"fast",r.copy(m[e])}function y(e){var t=e.match(i);if(!t)return!1;var n=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(n)?29:o[r])}function v(e,t){var n=e.match(s);if(!n)return!1;var r=n[1],i=n[2],o=n[3],a=n[5];return(r<=23&&i<=59&&o<=59||23==r&&59==i&&60==o)&&(!t||a)}e.exports=m,m.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:l,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":f,"json-pointer-uri-fragment":p,"relative-json-pointer":d},m.full={date:y,time:v,"date-time":function(e){var t=e.split(g);return 2==t.length&&y(t[0])&&v(t[1],!0)},uri:function(e){return _.test(e)&&c.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:l,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":f,"json-pointer-uri-fragment":p,"relative-json-pointer":d};var g=/t|\s/i,_=/\/|:/,b=/[^\\]\\Z/;function w(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},153:(e,t,n)=>{"use strict";var r=n(610),i=n(889),o=n(802),s=n(35),a=n(508),c=i.ucs2length,u=n(63),l=o.Validation;function h(e,t,n){var r=p.call(this,e,t,n);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:n},{index:r,compiling:!1})}function f(e,t,n){var r=p.call(this,e,t,n);r>=0&&this._compilations.splice(r,1)}function p(e,t,n){for(var r=0;r{"use strict";var r=n(540),i=n(63),o=n(889),s=n(22),a=n(461);function c(e,t,n){var r=this._refs[n];if("string"==typeof r){if(!this._refs[r])return c.call(this,e,t,r);r=this._refs[r]}if((r=r||this._schemas[n])instanceof s)return d(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,o,a,l=u.call(this,t,n);return l&&(i=l.schema,t=l.root,a=l.baseId),i instanceof s?o=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(o=d(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),o}function u(e,t){var n=r.parse(t),i=g(n),o=v(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==o){var a=b(i),c=this._refs[a];if("string"==typeof c)return l.call(this,e,c,n);if(c instanceof s)c.validate||this._compile(c),e=c;else{if(!((c=this._schemas[a])instanceof s))return;if(c.validate||this._compile(c),a==b(t))return{schema:c,root:e,baseId:o};e=c}if(!e.schema)return;o=v(this._getId(e.schema))}return f.call(this,n,o,e.schema,e)}function l(e,t,n){var r=u.call(this,e,t);if(r){var i=r.schema,o=r.baseId;e=r.root;var s=this._getId(i);return s&&(o=w(o,s)),f.call(this,n,o,i,e)}}e.exports=c,c.normalizeId=b,c.fullPath=v,c.url=w,c.ids=function(e){var t=b(this._getId(e)),n={"":t},s={"":v(t,!1)},c={},u=this;return a(e,{allKeys:!0},(function(e,t,a,l,h,f,p){if(""!==t){var d=u._getId(e),m=n[l],y=s[l]+"/"+h;if(void 0!==p&&(y+="/"+("number"==typeof p?p:o.escapeFragment(p))),"string"==typeof d){d=m=b(m?r.resolve(m,d):d);var v=u._refs[d];if("string"==typeof v&&(v=u._refs[v]),v&&v.schema){if(!i(e,v.schema))throw new Error('id "'+d+'" resolves to more than one schema')}else if(d!=b(y))if("#"==d[0]){if(c[d]&&!i(e,c[d]))throw new Error('id "'+d+'" resolves to more than one schema');c[d]=e}else u._refs[d]=y}n[t]=m,s[t]=y}})),c},c.inlineRef=d,c.schema=u;var h=o.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function f(e,t,n,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s{"use strict";var r=n(674),i=n(889).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(n){n.rules=n.rules.map((function(n){var i;if("object"==typeof n){var o=Object.keys(n)[0];i=n[o],n=o,i.forEach((function(n){t.push(n),e.all[n]=!0}))}return t.push(n),e.all[n]={keyword:n,code:r[n],implements:i}})),e.all.$comment={keyword:"$comment",code:r.$comment},n.type&&(e.types[n.type]=n)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},22:(e,t,n)=>{"use strict";var r=n(889);e.exports=function(e){r.copy(e,this)}},442:e=>{"use strict";e.exports=function(e){for(var t,n=0,r=e.length,i=0;i=55296&&t<=56319&&i{"use strict";function r(e,t,n,r){var i=r?" !== ":" === ",o=r?" || ":" && ",s=r?"!":"",a=r?"":"!";switch(e){case"null":return t+i+"null";case"array":return s+"Array.isArray("+t+")";case"object":return"("+s+t+o+"typeof "+t+i+'"object"'+o+a+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+i+'"number"'+o+a+"("+t+" % 1)"+o+t+i+t+(n?o+s+"isFinite("+t+")":"")+")";case"number":return"(typeof "+t+i+'"'+e+'"'+(n?o+s+"isFinite("+t+")":"")+")";default:return"typeof "+t+i+'"'+e+'"'}}e.exports={copy:function(e,t){for(var n in t=t||{},e)t[n]=e[n];return t},checkDataType:r,checkDataTypes:function(e,t,n){if(1===e.length)return r(e[0],t,n,!0);var i="",s=o(e);for(var a in s.array&&s.object&&(i=s.null?"(":"(!"+t+" || ",i+="typeof "+t+' !== "object")',delete s.null,delete s.array,delete s.object),s.number&&delete s.integer,s)i+=(i?" && ":"")+r(a,t,n,!0);return i},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var n=[],r=0;r=t)throw new Error("Cannot access property/index "+r+" levels up, current level is "+t);return n[t-r]}if(r>t)throw new Error("Cannot access data "+r+" levels up, current level is "+t);if(o="data"+(t-r||""),!i)return o}for(var a=o,u=i.split("/"),l=0;l{"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,n){for(var r=0;r{"use strict";var r=n(680);e.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},210:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a;var p="maximum"==t,d=p?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[d],y=e.opts.$data&&m&&m.$data,v=p?"<":">",g=p?">":"<",_=void 0;if(!f&&"number"!=typeof a&&void 0!==a)throw new Error(t+" must be number");if(!y&&void 0!==m&&"number"!=typeof m&&"boolean"!=typeof m)throw new Error(d+" must be number or boolean");if(y){var b,w=e.util.getData(m.$data,s,e.dataPathArr),x="exclusive"+o,k="exclType"+o,E="exclIsNumber"+o,S="' + "+(A="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+w+"; ",i+=" var "+x+"; var "+k+" = typeof "+(w="schemaExcl"+o)+"; if ("+k+" != 'boolean' && "+k+" != 'undefined' && "+k+" != 'number') { ",_=d,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(_||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+d+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var T=i;i=b.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+k+" == 'number' ? ( ("+x+" = "+r+" === undefined || "+w+" "+v+"= "+r+") ? "+h+" "+g+"= "+w+" : "+h+" "+g+" "+r+" ) : ( ("+x+" = "+w+" === true) ? "+h+" "+g+"= "+r+" : "+h+" "+g+" "+r+" ) || "+h+" !== "+h+") { var op"+o+" = "+x+" ? '"+v+"' : '"+v+"='; ",void 0===a&&(_=d,u=e.errSchemaPath+"/"+d,r=w,f=y)}else if(S=v,(E="number"==typeof m)&&f){var A="'"+S+"'";i+=" if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+m+" "+v+"= "+r+" ? "+h+" "+g+"= "+m+" : "+h+" "+g+" "+r+" ) || "+h+" !== "+h+") { "}else E&&void 0===a?(x=!0,_=d,u=e.errSchemaPath+"/"+d,r=m,g+="="):(E&&(r=Math[p?"min":"max"](m,a)),m===(!E||r)?(x=!0,_=d,u=e.errSchemaPath+"/"+d,g+="="):(x=!1,S+="=")),A="'"+S+"'",i+=" if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+h+" "+g+" "+r+" || "+h+" !== "+h+") { ";return _=_||t,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(_||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+A+", limit: "+r+", exclusive: "+x+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+S+" ",i+=f?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",T=i,i=b.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { "),i}},38:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;if(f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,!f&&"number"!=typeof a)throw new Error(t+" must be number");i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+h+".length "+("maxItems"==t?">":"<")+" "+r+") { ";var p=t,d=d||[];d.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=f?"' + "+r+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=d.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},425:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;if(f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,!f&&"number"!=typeof a)throw new Error(t+" must be number");var p="maxLength"==t?">":"<";i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===e.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+p+" "+r+") { ";var d=t,m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=f?"' + "+r+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;return i=m.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},204:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;if(f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,!f&&"number"!=typeof a)throw new Error(t+" must be number");i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==t?">":"<")+" "+r+") { ";var p=t,d=d||[];d.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=f?"' + "+r+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=d.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},988:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,c=e.util.copy(e),u="";c.level++;var l="valid"+c.level,h=c.baseId,f=!0,p=i;if(p)for(var d,m=-1,y=p.length-1;m0||!1===d:e.util.schemaHasRules(d,e.RULES.all))&&(f=!1,c.schema=d,c.schemaPath=o+"["+m+"]",c.errSchemaPath=s+"/"+m,r+=" "+e.validate(c)+" ",c.baseId=h,a&&(r+=" if ("+l+") { ",u+="}"));return a&&(r+=f?" if (true) { ":" "+u.slice(0,-1)+" "),r}},996:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=e.util.copy(e),d="";p.level++;var m="valid"+p.level,y=s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0||!1===t:e.util.schemaHasRules(t,e.RULES.all)}));if(y){var v=p.baseId;r+=" var "+f+" = errors; var "+h+" = false; ";var g=e.compositeRule;e.compositeRule=p.compositeRule=!0;var _=s;if(_)for(var b,w=-1,x=_.length-1;w{"use strict";e.exports=function(e,t,n){var r=" ",i=e.schema[t],o=e.errSchemaPath+"/"+t,s=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?r+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(r+=" self._opts.$comment("+s+", "+e.util.toQuotedString(o)+", validate.root.schema);"),r}},306:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(r+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),f||(r+=" var schema"+i+" = validate.schema"+a+";"),r+="var "+h+" = equal("+l+", schema"+i+"); if (!"+h+") { ";var p=p||[];p.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var d=r;return r=p.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+d+"]); ":r+=" validate.errors = ["+d+"]; return false; ":r+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",u&&(r+=" else { "),r}},840:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=e.util.copy(e);p.level++;var d="valid"+p.level,m="i"+i,y=p.dataLevel=e.dataLevel+1,v="data"+y,g=e.baseId,_=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all);if(r+="var "+f+" = errors;var "+h+";",_){var b=e.compositeRule;e.compositeRule=p.compositeRule=!0,p.schema=s,p.schemaPath=a,p.errSchemaPath=c,r+=" var "+d+" = false; for (var "+m+" = 0; "+m+" < "+l+".length; "+m+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var w=l+"["+m+"]";p.dataPathArr[y]=m;var x=e.validate(p);p.baseId=g,e.util.varOccurences(x,v)<2?r+=" "+e.util.varReplace(x,v,w)+" ":r+=" var "+v+" = "+w+"; "+x+" ",r+=" if ("+d+") break; } ",e.compositeRule=p.compositeRule=b,r+=" if (!"+d+") {"}else r+=" if ("+l+".length == 0) {";var k=k||[];k.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;return r=k.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",_&&(r+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},165:e=>{"use strict";e.exports=function(e,t,n){var r,i,o=" ",s=e.level,a=e.dataLevel,c=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,f="data"+(a||""),p="valid"+s,d="errs__"+s,m=e.opts.$data&&c&&c.$data;m?(o+=" var schema"+s+" = "+e.util.getData(c.$data,a,e.dataPathArr)+"; ",i="schema"+s):i=c;var y,v,g,_,b,w=this,x="definition"+s,k=w.definition,E="";if(m&&k.$data){b="keywordValidate"+s;var S=k.validateSchema;o+=" var "+x+" = RULES.custom['"+t+"'].definition; var "+b+" = "+x+".validate;"}else{if(!(_=e.useCustomRule(w,c,e.schema,e)))return;i="validate.schema"+u,b=_.code,y=k.compile,v=k.inline,g=k.macro}var T=b+".errors",A="i"+s,O="ruleErr"+s,N=k.async;if(N&&!e.async)throw new Error("async keyword in sync schema");if(v||g||(o+=T+" = null;"),o+="var "+d+" = errors;var "+p+";",m&&k.$data&&(E+="}",o+=" if ("+i+" === undefined) { "+p+" = true; } else { ",S&&(E+="}",o+=" "+p+" = "+x+".validateSchema("+i+"); if ("+p+") { ")),v)k.statements?o+=" "+_.validate+" ":o+=" "+p+" = "+_.validate+"; ";else if(g){var P=e.util.copy(e);E="",P.level++;var C="valid"+P.level;P.schema=_.validate,P.schemaPath="";var R=e.compositeRule;e.compositeRule=P.compositeRule=!0;var L=e.validate(P).replace(/validate\.schema/g,b);e.compositeRule=P.compositeRule=R,o+=" "+L}else{(j=j||[]).push(o),o="",o+=" "+b+".call( ",e.opts.passContext?o+="this":o+="self",y||!1===k.schema?o+=" , "+f+" ":o+=" , "+i+" , "+f+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var I=a?"data"+(a-1||""):"parentData",D=a?e.dataPathArr[a]:"parentDataProperty",M=o+=" , "+I+" , "+D+" , rootData ) ";o=j.pop(),!1===k.errors?(o+=" "+p+" = ",N&&(o+="await "),o+=M+"; "):o+=N?" var "+(T="customErrors"+s)+" = null; try { "+p+" = await "+M+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+T+" = e.errors; else throw e; } ":" "+T+" = null; "+p+" = "+M+"; "}if(k.modifying&&(o+=" if ("+I+") "+f+" = "+I+"["+D+"];"),o+=""+E,k.valid)h&&(o+=" if (true) { ");else{var j;o+=" if ( ",void 0===k.valid?(o+=" !",o+=g?""+C:""+p):o+=" "+!k.valid+" ",o+=") { ",r=w.keyword,(j=j||[]).push(o),o="",(j=j||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { keyword: '"+w.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ";var F=o;o=j.pop(),!e.compositeRule&&h?e.async?o+=" throw new ValidationError(["+F+"]); ":o+=" validate.errors = ["+F+"]; return false; ":o+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var B=o;o=j.pop(),v?k.errors?"full"!=k.errors&&(o+=" for (var "+A+"="+d+"; "+A+"{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=e.util.copy(e),p="";f.level++;var d="valid"+f.level,m={},y={},v=e.opts.ownProperties;for(w in s)if("__proto__"!=w){var g=s[w],_=Array.isArray(g)?y:m;_[w]=g}r+="var "+h+" = errors;";var b=e.errorPath;for(var w in r+="var missing"+i+";",y)if((_=y[w]).length){if(r+=" if ( "+l+e.util.getProperty(w)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(w)+"') "),u){r+=" && ( ";var x=_;if(x)for(var k=-1,E=x.length-1;k0||!1===g:e.util.schemaHasRules(g,e.RULES.all))&&(r+=" "+d+" = true; if ( "+l+e.util.getProperty(w)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",f.schema=g,f.schemaPath=a+e.util.getProperty(w),f.errSchemaPath=c+"/"+e.util.escapeFragment(w),r+=" "+e.validate(f)+" ",f.baseId=D,r+=" } ",u&&(r+=" if ("+d+") { ",p+="}"));return u&&(r+=" "+p+" if ("+h+" == errors) {"),r}},740:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(r+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var p="i"+i,d="schema"+i;f||(r+=" var "+d+" = validate.schema"+a+";"),r+="var "+h+";",f&&(r+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),r+=h+" = false;for (var "+p+"=0; "+p+"<"+d+".length; "+p+"++) if (equal("+l+", "+d+"["+p+"])) { "+h+" = true; break; }",f&&(r+=" } "),r+=" if (!"+h+") { ";var m=m||[];m.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var y=r;return r=m.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+y+"]); ":r+=" validate.errors = ["+y+"]; return false; ":r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",u&&(r+=" else { "),r}},14:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||"");if(!1===e.opts.format)return u&&(r+=" if (true) { "),r;var h,f=e.opts.$data&&s&&s.$data;f?(r+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ",h="schema"+i):h=s;var p=e.opts.unknownFormats,d=Array.isArray(p);if(f)r+=" var "+(m="format"+i)+" = formats["+h+"]; var "+(y="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(v="formatType"+i)+" = "+y+" && "+m+".type || 'string'; if ("+y+") { ",e.async&&(r+=" var async"+i+" = "+m+".async; "),r+=" "+m+" = "+m+".validate; } if ( ",f&&(r+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),r+=" (","ignore"!=p&&(r+=" ("+h+" && !"+m+" ",d&&(r+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),r+=") || "),r+=" ("+m+" && "+v+" == '"+n+"' && !(typeof "+m+" == 'function' ? ",e.async?r+=" (async"+i+" ? await "+m+"("+l+") : "+m+"("+l+")) ":r+=" "+m+"("+l+") ",r+=" : "+m+".test("+l+"))))) {";else{var m;if(!(m=e.formats[s])){if("ignore"==p)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(r+=" if (true) { "),r;if(d&&p.indexOf(s)>=0)return u&&(r+=" if (true) { "),r;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var y,v=(y="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(y){var g=!0===m.async;m=m.validate}if(v!=n)return u&&(r+=" if (true) { "),r;if(g){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(_="formats"+e.util.getProperty(s)+".validate")+"("+l+"))) { "}else{r+=" if (! ";var _="formats"+e.util.getProperty(s);y&&(_+=".validate"),r+="function"==typeof m?" "+_+"("+l+") ":" "+_+".test("+l+") ",r+=") { "}}var b=b||[];b.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { format: ",r+=f?""+h:""+e.util.toQuotedString(s),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=f?"' + "+h+" + '":""+e.util.escapeQuotes(s),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=f?"validate.schema"+a:""+e.util.toQuotedString(s),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var w=r;return r=b.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",u&&(r+=" else { "),r}},231:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=e.util.copy(e);p.level++;var d="valid"+p.level,m=e.schema.then,y=e.schema.else,v=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0||!1===m:e.util.schemaHasRules(m,e.RULES.all)),g=void 0!==y&&(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0||!1===y:e.util.schemaHasRules(y,e.RULES.all)),_=p.baseId;if(v||g){var b;p.createErrors=!1,p.schema=s,p.schemaPath=a,p.errSchemaPath=c,r+=" var "+f+" = errors; var "+h+" = true; ";var w=e.compositeRule;e.compositeRule=p.compositeRule=!0,r+=" "+e.validate(p)+" ",p.baseId=_,p.createErrors=!0,r+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",e.compositeRule=p.compositeRule=w,v?(r+=" if ("+d+") { ",p.schema=e.schema.then,p.schemaPath=e.schemaPath+".then",p.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(p)+" ",p.baseId=_,r+=" "+h+" = "+d+"; ",v&&g?r+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",r+=" } ",g&&(r+=" else { ")):r+=" if (!"+d+") { ",g&&(p.schema=e.schema.else,p.schemaPath=e.schemaPath+".else",p.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(p)+" ",p.baseId=_,r+=" "+h+" = "+d+"; ",v&&g?r+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",r+=" } "),r+=" if (!"+h+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",u&&(r+=" else { ")}else u&&(r+=" if (true) { ");return r}},674:(e,t,n)=>{"use strict";e.exports={$ref:n(392),allOf:n(988),anyOf:n(996),$comment:n(812),const:n(306),contains:n(840),dependencies:n(659),enum:n(740),format:n(14),if:n(231),items:n(482),maximum:n(210),minimum:n(210),maxItems:n(38),minItems:n(38),maxLength:n(425),minLength:n(425),maxProperties:n(204),minProperties:n(204),multipleOf:n(673),not:n(528),oneOf:n(709),pattern:n(614),properties:n(175),propertyNames:n(441),required:n(287),uniqueItems:n(603),validate:n(508)}},482:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=e.util.copy(e),d="";p.level++;var m="valid"+p.level,y="i"+i,v=p.dataLevel=e.dataLevel+1,g="data"+v,_=e.baseId;if(r+="var "+f+" = errors;var "+h+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){r+=" "+h+" = "+l+".length <= "+s.length+"; ";var w=c;c=e.errSchemaPath+"/additionalItems",r+=" if (!"+h+") { ";var x=x||[];x.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var k=r;r=x.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+k+"]); ":r+=" validate.errors = ["+k+"]; return false; ":r+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c=w,u&&(d+="}",r+=" else { ")}var E=s;if(E)for(var S,T=-1,A=E.length-1;T0||!1===S:e.util.schemaHasRules(S,e.RULES.all)){r+=" "+m+" = true; if ("+l+".length > "+T+") { ";var O=l+"["+T+"]";p.schema=S,p.schemaPath=a+"["+T+"]",p.errSchemaPath=c+"/"+T,p.errorPath=e.util.getPathExpr(e.errorPath,T,e.opts.jsonPointers,!0),p.dataPathArr[v]=T;var N=e.validate(p);p.baseId=_,e.util.varOccurences(N,g)<2?r+=" "+e.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",r+=" } ",u&&(r+=" if ("+m+") { ",d+="}")}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0||!1===b:e.util.schemaHasRules(b,e.RULES.all))&&(p.schema=b,p.schemaPath=e.schemaPath+".additionalItems",p.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+m+" = true; if ("+l+".length > "+s.length+") { for (var "+y+" = "+s.length+"; "+y+" < "+l+".length; "+y+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,y,e.opts.jsonPointers,!0),O=l+"["+y+"]",p.dataPathArr[v]=y,N=e.validate(p),p.baseId=_,e.util.varOccurences(N,g)<2?r+=" "+e.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",u&&(r+=" if (!"+m+") break; "),r+=" } } ",u&&(r+=" if ("+m+") { ",d+="}"))}else(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all))&&(p.schema=s,p.schemaPath=a,p.errSchemaPath=c,r+=" for (var "+y+" = 0; "+y+" < "+l+".length; "+y+"++) { ",p.errorPath=e.util.getPathExpr(e.errorPath,y,e.opts.jsonPointers,!0),O=l+"["+y+"]",p.dataPathArr[v]=y,N=e.validate(p),p.baseId=_,e.util.varOccurences(N,g)<2?r+=" "+e.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",u&&(r+=" if (!"+m+") break; "),r+=" }");return u&&(r+=" "+d+" if ("+f+" == errors) {"),r}},673:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;if(f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,!f&&"number"!=typeof a)throw new Error(t+" must be number");i+="var division"+o+";if (",f&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+o+" = "+h+" / "+r+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",f&&(i+=" ) "),i+=" ) { ";var p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=f?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var d=i;return i=p.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},528:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=e.util.copy(e);f.level++;var p="valid"+f.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=c,r+=" var "+h+" = errors; ";var d,m=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.createErrors=!1,f.opts.allErrors&&(d=f.opts.allErrors,f.opts.allErrors=!1),r+=" "+e.validate(f)+" ",f.createErrors=!0,d&&(f.opts.allErrors=d),e.compositeRule=f.compositeRule=m,r+=" if ("+p+") { ";var y=y||[];y.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var v=r;r=y.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(r+=" if (false) { ");return r}},709:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=e.util.copy(e),d="";p.level++;var m="valid"+p.level,y=p.baseId,v="prevValid"+i,g="passingSchemas"+i;r+="var "+f+" = errors , "+v+" = false , "+h+" = false , "+g+" = null; ";var _=e.compositeRule;e.compositeRule=p.compositeRule=!0;var b=s;if(b)for(var w,x=-1,k=b.length-1;x0||!1===w:e.util.schemaHasRules(w,e.RULES.all))?(p.schema=w,p.schemaPath=a+"["+x+"]",p.errSchemaPath=c+"/"+x,r+=" "+e.validate(p)+" ",p.baseId=y):r+=" var "+m+" = true; ",x&&(r+=" if ("+m+" && "+v+") { "+h+" = false; "+g+" = ["+g+", "+x+"]; } else { ",d+="}"),r+=" if ("+m+") { "+h+" = "+v+" = true; "+g+" = "+x+"; }";return e.compositeRule=p.compositeRule=_,r+=d+"if (!"+h+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { passingSchemas: "+g+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},614:e=>{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(f?"(new RegExp("+r+"))":e.usePattern(a))+".test("+h+") ) { ";var p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",i+=f?""+r:""+e.util.toQuotedString(a),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=f?"' + "+r+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+c:""+e.util.toQuotedString(a),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var d=i;return i=p.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},175:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=e.util.copy(e),p="";f.level++;var d="valid"+f.level,m="key"+i,y="idx"+i,v=f.dataLevel=e.dataLevel+1,g="data"+v,_="dataProperties"+i,b=Object.keys(s||{}).filter(L),w=e.schema.patternProperties||{},x=Object.keys(w).filter(L),k=e.schema.additionalProperties,E=b.length||x.length,S=!1===k,T="object"==typeof k&&Object.keys(k).length,A=e.opts.removeAdditional,O=S||T||A,N=e.opts.ownProperties,P=e.baseId,C=e.schema.required;if(C&&(!e.opts.$data||!C.$data)&&C.length8)r+=" || validate.schema"+a+".hasOwnProperty("+m+") ";else{var I=b;if(I)for(var D=-1,M=I.length-1;D0||!1===Z:e.util.schemaHasRules(Z,e.RULES.all)){var J=e.util.getProperty(Y),ee=(K=l+J,W&&void 0!==Z.default);if(f.schema=Z,f.schemaPath=a+J,f.errSchemaPath=c+"/"+e.util.escapeFragment(Y),f.errorPath=e.util.getPath(e.errorPath,Y,e.opts.jsonPointers),f.dataPathArr[v]=e.util.toQuotedString(Y),H=e.validate(f),f.baseId=P,e.util.varOccurences(H,g)<2){H=e.util.varReplace(H,g,K);var te=K}else te=g,r+=" var "+g+" = "+K+"; ";if(ee)r+=" "+H+" ";else{if(R&&R[Y]){r+=" if ( "+te+" === undefined ",N&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+d+" = false; ",z=e.errorPath,V=c;var ne,re=e.util.escapeQuotes(Y);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(z,Y,e.opts.jsonPointers)),c=e.errSchemaPath+"/required",(ne=ne||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",$=r,r=ne.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+$+"]); ":r+=" validate.errors = ["+$+"]; return false; ":r+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c=V,e.errorPath=z,r+=" } else { "}else u?(r+=" if ( "+te+" === undefined ",N&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=") { "+d+" = true; } else { "):(r+=" if ("+te+" !== undefined ",N&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+e.util.escapeQuotes(Y)+"') "),r+=" ) { ");r+=" "+H+" } "}}u&&(r+=" if ("+d+") { ",p+="}")}}if(x.length){var ie=x;if(ie)for(var oe,se=-1,ae=ie.length-1;se0||!1===Z:e.util.schemaHasRules(Z,e.RULES.all))&&(f.schema=Z,f.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(oe),f.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(oe),r+=N?" "+_+" = "+_+" || Object.keys("+l+"); for (var "+y+"=0; "+y+"<"+_+".length; "+y+"++) { var "+m+" = "+_+"["+y+"]; ":" for (var "+m+" in "+l+") { ",r+=" if ("+e.usePattern(oe)+".test("+m+")) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),K=l+"["+m+"]",f.dataPathArr[v]=m,H=e.validate(f),f.baseId=P,e.util.varOccurences(H,g)<2?r+=" "+e.util.varReplace(H,g,K)+" ":r+=" var "+g+" = "+K+"; "+H+" ",u&&(r+=" if (!"+d+") break; "),r+=" } ",u&&(r+=" else "+d+" = true; "),r+=" } ",u&&(r+=" if ("+d+") { ",p+="}"))}return u&&(r+=" "+p+" if ("+h+" == errors) {"),r}},441:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=e.util.copy(e);f.level++;var p="valid"+f.level;if(r+="var "+h+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0||!1===s:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=c;var d="key"+i,m="idx"+i,y="i"+i,v="' + "+d+" + '",g="data"+(f.dataLevel=e.dataLevel+1),_="dataProperties"+i,b=e.opts.ownProperties,w=e.baseId;b&&(r+=" var "+_+" = undefined; "),r+=b?" "+_+" = "+_+" || Object.keys("+l+"); for (var "+m+"=0; "+m+"<"+_+".length; "+m+"++) { var "+d+" = "+_+"["+m+"]; ":" for (var "+d+" in "+l+") { ",r+=" var startErrs"+i+" = errors; ";var x=d,k=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=e.validate(f);f.baseId=w,e.util.varOccurences(E,g)<2?r+=" "+e.util.varReplace(E,g,x)+" ":r+=" var "+g+" = "+x+"; "+E+" ",e.compositeRule=f.compositeRule=k,r+=" if (!"+p+") { for (var "+y+"=startErrs"+i+"; "+y+"{"use strict";e.exports=function(e,t,n){var r,i,o=" ",s=e.level,a=e.dataLevel,c=e.schema[t],u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(a||""),f="valid"+s;if("#"==c||"#/"==c)e.isRoot?(r=e.async,i="validate"):(r=!0===e.root.schema.$async,i="root.refVal[0]");else{var p=e.resolveRef(e.baseId,c,e.isRoot);if(void 0===p){var d=e.MissingRefError.message(e.baseId,c);if("fail"==e.opts.missingRefs){e.logger.error(d),(g=g||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(c)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(c)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(c)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),o+=" } "):o+=" {} ";var m=o;o=g.pop(),!e.compositeRule&&l?e.async?o+=" throw new ValidationError(["+m+"]); ":o+=" validate.errors = ["+m+"]; return false; ":o+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,c,d);e.logger.warn(d),l&&(o+=" if (true) { ")}}else if(p.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=p.schema,y.schemaPath="",y.errSchemaPath=c,o+=" "+e.validate(y).replace(/validate\.schema/g,p.code)+" ",l&&(o+=" if ("+v+") { ")}else r=!0===p.$async||e.async&&!1!==p.$async,i=p.code}if(i){var g;(g=g||[]).push(o),o="",e.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var _=o+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(o=g.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");l&&(o+=" var "+f+"; "),o+=" try { await "+_+"; ",l&&(o+=" "+f+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",l&&(o+=" "+f+" = false; "),o+=" } ",l&&(o+=" if ("+f+") { ")}else o+=" if (!"+_+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",l&&(o+=" else { ")}return o}},287:e=>{"use strict";e.exports=function(e,t,n){var r=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,l="data"+(o||""),h="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(r+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var p="schema"+i;if(!f)if(s.length0||!1===_:e.util.schemaHasRules(_,e.RULES.all))||(d[d.length]=y)}}else d=s;if(f||d.length){var b=e.errorPath,w=f||d.length>=e.opts.loopRequired,x=e.opts.ownProperties;if(u)if(r+=" var missing"+i+"; ",w){f||(r+=" var "+p+" = validate.schema"+a+"; ");var k="' + "+(N="schema"+i+"["+(A="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,N,e.opts.jsonPointers)),r+=" var "+h+" = true; ",f&&(r+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),r+=" for (var "+A+" = 0; "+A+" < "+p+".length; "+A+"++) { "+h+" = "+l+"["+p+"["+A+"]] !== undefined ",x&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", "+p+"["+A+"]) "),r+="; if (!"+h+") break; } ",f&&(r+=" } "),r+=" if (!"+h+") { ",(S=S||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { missingProperty: '"+k+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+k+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;r=S.pop(),!e.compositeRule&&u?e.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var S,T=d;if(T)for(var A=-1,O=T.length-1;A{"use strict";e.exports=function(e,t,n){var r,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,h="data"+(s||""),f="valid"+o,p=e.opts.$data&&a&&a.$data;if(p?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",r="schema"+o):r=a,(a||p)&&!1!==e.opts.uniqueItems){p&&(i+=" var "+f+"; if ("+r+" === false || "+r+" === undefined) "+f+" = true; else if (typeof "+r+" != 'boolean') "+f+" = false; else { "),i+=" var i = "+h+".length , "+f+" = true , j; if (i > 1) { ";var d=e.schema.items&&e.schema.items.type,m=Array.isArray(d);if(!d||"object"==d||"array"==d||m&&(d.indexOf("object")>=0||d.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+f+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var y="checkDataType"+(m?"s":"");i+=" if ("+e.util[y](d,"item",e.opts.strictNumbers,!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",p&&(i+=" } "),i+=" if (!"+f+") { ";var v=v||[];v.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=p?"validate.schema"+c:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var g=i;i=v.pop(),!e.compositeRule&&l?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { ")}else l&&(i+=" if (true) { ");return i}},508:e=>{"use strict";e.exports=function(e,t,n){var r="",i=!0===e.schema.$async,o=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var c="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(c);e.logger.warn(c)}}if(e.isTop&&(r+=" var validate = ",i&&(e.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(r+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!o&&!e.schema.$ref){t="false schema";var u=e.level,l=e.dataLevel,h=e.schema[t],f=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,m="data"+(l||""),y="valid"+u;if(!1===e.schema){e.isTop?d=!0:r+=" var "+y+" = false; ",(K=K||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(p)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'boolean schema is false' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;r=K.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?r+=i?" return data; ":" validate.errors = null; return true; ":r+=" var "+y+" = true; ";return e.isTop&&(r+=" }; return validate; "),r}if(e.isTop){var g=e.isTop;if(u=e.level=0,l=e.dataLevel=0,m="data",e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var _="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(_);e.logger.warn(_)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{if(u=e.level,m="data"+((l=e.dataLevel)||""),s&&(e.baseId=e.resolve.url(e.baseId,s)),i&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+u+" = errors;"}y="valid"+u,d=!e.opts.allErrors;var b="",w="",x=e.schema.type,k=Array.isArray(x);if(x&&e.opts.nullable&&!0===e.schema.nullable&&(k?-1==x.indexOf("null")&&(x=x.concat("null")):"null"!=x&&(x=[x,"null"],k=!0)),k&&1==x.length&&(x=x[0],k=!1),e.schema.$ref&&o){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(o=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(r+=" "+e.RULES.all.$comment.code(e,"$comment")),x){if(e.opts.coerceTypes)var E=e.util.coerceToTypes(e.opts.coerceTypes,x);var S=e.RULES.types[x];if(E||k||!0===S||S&&!X(S)){f=e.schemaPath+".type",p=e.errSchemaPath+"/type",f=e.schemaPath+".type",p=e.errSchemaPath+"/type";var T=k?"checkDataTypes":"checkDataType";if(r+=" if ("+e.util[T](x,m,e.opts.strictNumbers,!0)+") { ",E){var A="dataType"+u,O="coerced"+u;r+=" var "+A+" = typeof "+m+"; var "+O+" = undefined; ","array"==e.opts.coerceTypes&&(r+=" if ("+A+" == 'object' && Array.isArray("+m+") && "+m+".length == 1) { "+m+" = "+m+"[0]; "+A+" = typeof "+m+"; if ("+e.util.checkDataType(e.schema.type,m,e.opts.strictNumbers)+") "+O+" = "+m+"; } "),r+=" if ("+O+" !== undefined) ; ";var N=E;if(N)for(var P,C=-1,R=N.length-1;C{"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i,i=n(165),o=n(128);e.exports={add:function(e,t){var n=this.RULES;if(n.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!r.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var o=t.type;if(Array.isArray(o))for(var s=0;s{"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var s=o[i];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n}},35:e=>{"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,r="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(n=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return n(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var n,s;if(Array.isArray(t)){for(s="[",n=0;n{"use strict";var t=e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={}),n(t,"function"==typeof(r=t.cb||r)?r:r.pre||function(){},r.post||function(){},e,"",e)};function n(e,r,i,o,s,a,c,u,l,h){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in r(o,s,a,c,u,l,h),o){var p=o[f];if(Array.isArray(p)){if(f in t.arrayKeywords)for(var d=0;d{(()=>{var e={985:function(e){var t;"undefined"!=typeof self&&self,t=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(e,t,n){"use strict";var r=Array.prototype,i=Object.prototype,o={"&":"&",'"':""","'":"'","<":"<",">":">","\\":"\"},s=/[&"'<>\\]/g;function a(e,t){return i.hasOwnProperty.call(e,t)}function c(e){return o[e]}function u(e,t,n){var r,i,o;if(e instanceof Error&&(e=(i=e).name+": "+i.message),Object.setPrototypeOf?(r=new Error(e),Object.setPrototypeOf(r,u.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:e})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var s=Object.getOwnPropertyDescriptor(i,"stack");(o=s&&(s.get||function(){return s.value}))||(o=function(){return i.stack})}else{var a=new Error(e).stack;o=function(){return a}}return Object.defineProperty(r,"stack",{get:function(){return o.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=t,r.colno=n,r.firstUpdate=!0,r.Update=function(e){var t="("+(e||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?t+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(t+=" [Line "+this.lineno+"]")),t+="\n ",this.firstUpdate&&(t+=" "),this.message=t+(this.message||""),this.firstUpdate=!1,this},r}function l(e){return"[object Function]"===i.toString.call(e)}function h(e){return"[object Array]"===i.toString.call(e)}function f(e){return"[object String]"===i.toString.call(e)}function p(e){return"[object Object]"===i.toString.call(e)}function d(e){var t,n=(t=e)?"string"==typeof t?t.split("."):[t]:[];return function(e){for(var t=e,r=0;re.length)s=i.slice(0,e.length),i.slice(s.length,u).forEach((function(e,n){n2?i-2:0),s=2;s0||!n)&&process.stdout.write(" ".repeat(t));var o=i===r.length-1?"":"\n";process.stdout.write(""+e+o)}))}e.exports={Node:c,Root:h,NodeList:l,Value:u,Literal:f,Symbol:p,Group:d,Array:m,Pair:y,Dict:v,Output:z,Capture:U,TemplateData:V,If:_,IfAsync:b,InlineIf:w,For:x,AsyncEach:k,AsyncAll:E,Macro:S,Caller:T,Import:A,FromImport:O,FunCall:N,Filter:P,FilterAsync:C,KeywordArgs:R,Block:L,Super:I,Extends:D,Include:M,Set:j,Switch:F,Case:B,LookupVal:g,BinOp:q,In:K,Is:H,Or:W,And:G,Not:Y,Add:Q,Concat:X,Sub:Z,Mul:J,Div:ee,FloorDiv:te,Mod:ne,Pow:re,Neg:ie,Pos:oe,Compare:se,CompareOperand:ae,CallExtension:ce,CallExtensionAsync:ue,printNodes:function e(t,n){if(n=n||0,le(t.typename+": ",n),t instanceof l)le("\n"),t.children.forEach((function(t){e(t,n+2)}));else if(t instanceof ce)le(t.extName+"."+t.prop+"\n"),t.args&&e(t.args,n+2),t.contentArgs&&t.contentArgs.forEach((function(t){e(t,n+2)}));else{var r=[],i=null;t.iterFields((function(e,t){e instanceof c?r.push([t,e]):(i=i||{})[t]=e})),i?le(JSON.stringify(i,null,2)+"\n",null,!0):le("\n"),r.forEach((function(t){var r=t[0],i=t[1];le("["+r+"] =>",n+2),e(i,n+4)}))}}}},function(e,t){},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=n(8),o=n(17),s=n(3),a=n(0).TemplateError,c=n(2).Frame,u=n(1).Obj,l={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},h=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var o=i.prototype;return o.init=function(e,t){this.templateName=e,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=t},o.fail=function(e,t,n){throw void 0!==t&&(t+=1),void 0!==n&&(n+=1),new a(e,t,n)},o._pushBuffer=function(){var e=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=e,this._emit("var "+this.buffer+' = "";'),e},o._popBuffer=function(){this.buffer=this.bufferStack.pop()},o._emit=function(e){this.codebuf.push(e)},o._emitLine=function(e){this._emit(e+"\n")},o._emitLines=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r0&&i._emit(","),i.compile(e,t)})),r&&this._emit(r)},o._compileExpression=function(e,t){this.assertType(e,s.Literal,s.Symbol,s.Group,s.Array,s.Dict,s.FunCall,s.Caller,s.Filter,s.LookupVal,s.Compare,s.InlineIf,s.In,s.Is,s.And,s.Or,s.Not,s.Add,s.Concat,s.Sub,s.Mul,s.Div,s.FloorDiv,s.Mod,s.Pow,s.Neg,s.Pos,s.Compare,s.NodeList),this.compile(e,t)},o.assertType=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&r._emit(","),e){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(e,t),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var c=this._tmpid();this._emitLine(", "+this._makeCallback(c)),this._emitLine(this.buffer+" += runtime.suppressValue("+c+", "+a+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+a+" && env.opts.autoescape);\n")},o.compileCallExtensionAsync=function(e,t){this.compileCallExtension(e,t,!0)},o.compileNodeList=function(e,t){this._compileChildren(e,t)},o.compileLiteral=function(e){if("string"==typeof e.value){var t=e.value.replace(/\\/g,"\\\\");t=(t=(t=(t=(t=t.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+t+'"')}else null===e.value?this._emit("null"):this._emit(e.value.toString())},o.compileSymbol=function(e,t){var n=e.value,r=t.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},o.compileGroup=function(e,t){this._compileAggregate(e,t,"(",")")},o.compileArray=function(e,t){this._compileAggregate(e,t,"[","]")},o.compileDict=function(e,t){this._compileAggregate(e,t,"{","}")},o.compilePair=function(e,t){var n=e.key,r=e.value;n instanceof s.Symbol?n=new s.Literal(n.lineno,n.colno,n.value):n instanceof s.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,t),this._emit(": "),this._compileExpression(r,t)},o.compileInlineIf=function(e,t){this._emit("("),this.compile(e.cond,t),this._emit("?"),this.compile(e.body,t),this._emit(":"),null!==e.else_?this.compile(e.else_,t):this._emit('""'),this._emit(")")},o.compileIn=function(e,t){this._emit("runtime.inOperator("),this.compile(e.left,t),this._emit(","),this.compile(e.right,t),this._emit(")")},o.compileIs=function(e,t){var n=e.right.name?e.right.name.value:e.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(e.left,t),e.right.args&&(this._emit(","),this.compile(e.right.args,t)),this._emit(") === true")},o._binOpEmitter=function(e,t,n){this.compile(e.left,t),this._emit(n),this.compile(e.right,t)},o.compileOr=function(e,t){return this._binOpEmitter(e,t," || ")},o.compileAnd=function(e,t){return this._binOpEmitter(e,t," && ")},o.compileAdd=function(e,t){return this._binOpEmitter(e,t," + ")},o.compileConcat=function(e,t){return this._binOpEmitter(e,t,' + "" + ')},o.compileSub=function(e,t){return this._binOpEmitter(e,t," - ")},o.compileMul=function(e,t){return this._binOpEmitter(e,t," * ")},o.compileDiv=function(e,t){return this._binOpEmitter(e,t," / ")},o.compileMod=function(e,t){return this._binOpEmitter(e,t," % ")},o.compileNot=function(e,t){this._emit("!"),this.compile(e.target,t)},o.compileFloorDiv=function(e,t){this._emit("Math.floor("),this.compile(e.left,t),this._emit(" / "),this.compile(e.right,t),this._emit(")")},o.compilePow=function(e,t){this._emit("Math.pow("),this.compile(e.left,t),this._emit(", "),this.compile(e.right,t),this._emit(")")},o.compileNeg=function(e,t){this._emit("-"),this.compile(e.target,t)},o.compilePos=function(e,t){this._emit("+"),this.compile(e.target,t)},o.compileCompare=function(e,t){var n=this;this.compile(e.expr,t),e.ops.forEach((function(e){n._emit(" "+l[e.type]+" "),n.compile(e.expr,t)}))},o.compileLookupVal=function(e,t){this._emit("runtime.memberLookup(("),this._compileExpression(e.target,t),this._emit("),"),this._compileExpression(e.val,t),this._emit(")")},o._getNodeName=function(e){switch(e.typename){case"Symbol":return e.value;case"FunCall":return"the return value of ("+this._getNodeName(e.name)+")";case"LookupVal":return this._getNodeName(e.target)+'["'+this._getNodeName(e.val)+'"]';case"Literal":return e.value.toString();default:return"--expression--"}},o.compileFunCall=function(e,t){this._emit("(lineno = "+e.lineno+", colno = "+e.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(e.name,t),this._emit(', "'+this._getNodeName(e.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(e.args,t,"[","])"),this._emit(")")},o.compileFilter=function(e,t){var n=e.name;this.assertType(n,s.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emit(")")},o.compileFilterAsync=function(e,t){var n=e.name,r=e.symbol.value;this.assertType(n,s.Symbol),t.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},o.compileKeywordArgs=function(e,t){this._emit("runtime.makeKeywordArgs("),this.compileDict(e,t),this._emit(")")},o.compileSet=function(e,t){var n=this,r=[];e.targets.forEach((function(e){var i=e.value,o=t.lookup(i);null==o&&(o=n._tmpid(),n._emitLine("var "+o+";")),r.push(o)})),e.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(e.value,t),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(e.body,t),this._emitLine(";")),e.targets.forEach((function(e,t){var i=r[t],o=e.value;n._emitLine('frame.set("'+o+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+o+'", '+i+");"),n._emitLine("}"),"_"!==o.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+o+'", '+i+");"),n._emitLine("}"))}))},o.compileSwitch=function(e,t){var n=this;this._emit("switch ("),this.compile(e.expr,t),this._emit(") {"),e.cases.forEach((function(e,r){n._emit("case "),n.compile(e.cond,t),n._emit(": "),n.compile(e.body,t),e.body.children.length&&n._emitLine("break;")})),e.default&&(this._emit("default:"),this.compile(e.default,t)),this._emit("}")},o.compileIf=function(e,t,n){var r=this;this._emit("if("),this._compileExpression(e.cond,t),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(e.body,t),n&&r._emit("cb()")})),e.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(e.else_,t),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},o.compileIfAsync=function(e,t){this._emit("(function(cb) {"),this.compileIf(e,t,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},o._emitLoopBindings=function(e,t,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(e){i._emitLine('frame.set("loop.'+e.name+'", '+e.val+");")}))},o.compileFor=function(e,t){var n=this,r=this._tmpid(),i=this._tmpid(),o=this._tmpid();if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+o+" = "),this._compileExpression(e.arr,t),this._emitLine(";"),this._emit("if("+o+") {"),this._emitLine(o+" = runtime.fromIterator("+o+");"),e.name instanceof s.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+o+")) {"),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),e.name.children.forEach((function(i,s){var a=n._tmpid();n._emitLine("var "+a+" = "+o+"["+r+"]["+s+"];"),n._emitLine('frame.set("'+i+'", '+o+"["+r+"]["+s+"]);"),t.set(e.name.children[s].value,a)})),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("} else {");var a=e.name.children,c=a[0],u=a[1],l=this._tmpid(),h=this._tmpid();t.set(c.value,l),t.set(u.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+o+").length;"),this._emitLine("for(var "+l+" in "+o+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+o+"["+l+"];"),this._emitLine('frame.set("'+c.value+'", '+l+");"),this._emitLine('frame.set("'+u.value+'", '+h+");"),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("}")}else{var f=this._tmpid();t.set(e.name.value,f),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),this._emitLine("var "+f+" = "+o+"["+r+"];"),this._emitLine('frame.set("'+e.name.value+'", '+f+");"),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}")}this._emitLine("}"),e.else_&&(this._emitLine("if (!"+i+") {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o._compileAsyncLoop=function(e,t,n){var r=this,i=this._tmpid(),o=this._tmpid(),a=this._tmpid(),c=n?"asyncAll":"asyncEach";if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+a+" = runtime.fromIterator("),this._compileExpression(e.arr,t),this._emitLine(");"),e.name instanceof s.Array){var u=e.name.children.length;this._emit("runtime."+c+"("+a+", "+u+", function("),e.name.children.forEach((function(e){r._emit(e.value+",")})),this._emit(i+","+o+",next) {"),e.name.children.forEach((function(e){var n=e.value;t.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=e.name.value;this._emitLine("runtime."+c+"("+a+", 1, function("+l+", "+i+", "+o+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),t.set(l,l)}this._emitLoopBindings(e,a,i,o),this._withScopedSyntax((function(){var o;n&&(o=r._pushBuffer()),r.compile(e.body,t),r._emitLine("next("+i+(o?","+o:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),e.else_&&(this._emitLine("if (!"+a+".length) {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o.compileAsyncEach=function(e,t){this._compileAsyncLoop(e,t)},o.compileAsyncAll=function(e,t){this._compileAsyncLoop(e,t,!0)},o._compileMacro=function(e,t){var n=this,r=[],i=null,o="macro_"+this._tmpid(),a=void 0!==t;e.args.children.forEach((function(t,o){o===e.args.children.length-1&&t instanceof s.Dict?i=t:(n.assertType(t,s.Symbol),r.push(t))}));var u,l=[].concat(r.map((function(e){return"l_"+e.value})),["kwargs"]),h=r.map((function(e){return'"'+e.value+'"'})),f=(i&&i.children||[]).map((function(e){return'"'+e.key.value+'"'}));u=a?t.push(!0):new c,this._emitLines("var "+o+" = runtime.makeMacro(","["+h.join(", ")+"], ","["+f.join(", ")+"], ","function ("+l.join(", ")+") {","var callerFrame = frame;","frame = "+(a?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(e){n._emitLine('frame.set("'+e.value+'", l_'+e.value+");"),u.set(e.value,"l_"+e.value)})),i&&i.children.forEach((function(e){var t=e.key.value;n._emit('frame.set("'+t+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+t+'")'),n._emit(' ? kwargs["'+t+'"] : '),n._compileExpression(e.value,u),n._emit(");")}));var p=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(e.body,u)})),this._emitLine("frame = "+(a?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+p+");"),this._emitLine("});"),this._popBuffer(),o},o.compileMacro=function(e,t){var n=this._compileMacro(e),r=e.name.value;t.set(r,n),t.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==e.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},o.compileCaller=function(e,t){this._emit("(function (){");var n=this._compileMacro(e,t);this._emit("return "+n+";})()")},o._compileGetTemplate=function(e,t,n,r){var i=this._tmpid(),o=this._templateName(),s=this._makeCallback(i),a=n?"true":"false",c=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(e.template,t),this._emitLine(", "+a+", "+o+", "+c+", "+s),i},o.compileImport=function(e,t){var n=e.target.value,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.set(n,r),t.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},o.compileFromImport=function(e,t){var n=this,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.names.children.forEach((function(e){var i,o,a=n._tmpid();e instanceof s.Pair?(i=e.key.value,o=e.value.value):o=i=e.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+a+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),t.set(o,a),t.parent?n._emitLine('frame.set("'+o+'", '+a+");"):n._emitLine('context.setVariable("'+o+'", '+a+");")}))},o.compileBlock=function(e){var t=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+e.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(t)),this._emitLine(this.buffer+" += "+t+";"),this._addScopeLevel()},o.compileSuper=function(e,t){var n=e.blockName.value,r=e.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),t.set(r,r)},o.compileExtends=function(e,t){var n=this._tmpid(),r=this._compileGetTemplate(e,t,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},o.compileInclude=function(e,t){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(e,t,!1,e.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},o.compileTemplateData=function(e,t){this.compileLiteral(e,t)},o.compileCapture=function(e,t){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},o.compileOutput=function(e,t){var n=this;e.children.forEach((function(r){r instanceof s.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,t),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,t),n.throwOnUndefined&&n._emit(","+e.lineno+","+e.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},o.compileRoot=function(e,t){var n=this;t&&this.fail("compileRoot: root node can't have frame"),t=new c,this._emitFuncBegin(e,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(e,t),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=e.findAll(s.Block);i.forEach((function(e,t){var i=e.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(e,"b_"+i);var o=new c;n._emitLine("var frame = frame.push(true);"),n.compile(e.body,o),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(e,t){var r="b_"+e.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},o.compile=function(e,t){var n=this["compile"+e.typename];n?n.call(this,e,t):this.fail("compile: Cannot compile node: "+e.typename,e.lineno,e.colno)},o.getCode=function(){return this.codebuf.join("")},i}(u);e.exports={compile:function(e,t,n,r,s){void 0===s&&(s={});var a=new h(r,s.throwOnUndefined),c=(n||[]).map((function(e){return e.preprocess})).filter((function(e){return!!e})).reduce((function(e,t){return t(e)}),e);return a.compile(o.transform(i.parse(c,n,s),t,r)),a.getCode()},Compiler:h}},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=n(4),o=n(1).EmitterObj;e.exports=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var s=o.prototype;return s.resolve=function(e,t){return i.resolve(i.dirname(e),t)},s.isRelative=function(e){return 0===e.indexOf("./")||0===e.indexOf("../")},o}(o)},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}var o=n(12),s=n(15),a=n(0),c=n(5),u=n(18),l=n(10),h=l.FileSystemLoader,f=l.WebLoader,p=l.PrecompiledLoader,d=n(20),m=n(21),y=n(1),v=y.Obj,g=y.EmitterObj,_=n(2),b=_.handleError,w=_.Frame,x=n(22);function k(e,t,n){o((function(){e(t,n)}))}var E={type:"code",obj:{root:function(e,t,n,r,i){try{i(null,"")}catch(e){i(b(e,null,null))}}}},S=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.init=function(e,t){var n=this;t=this.opts=t||{},this.opts.dev=!!t.dev,this.opts.autoescape=null==t.autoescape||t.autoescape,this.opts.throwOnUndefined=!!t.throwOnUndefined,this.opts.trimBlocks=!!t.trimBlocks,this.opts.lstripBlocks=!!t.lstripBlocks,this.loaders=[],e?this.loaders=a.isArray(e)?e:[e]:h?this.loaders=[new h("views")]:f&&(this.loaders=[new f("/views")]),"undefined"!=typeof window&&window.nunjucksPrecompiled&&this.loaders.unshift(new p(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=m(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],a._entries(u).forEach((function(e){var t=e[0],r=e[1];return n.addFilter(t,r)})),a._entries(d).forEach((function(e){var t=e[0],r=e[1];return n.addTest(t,r)}))},n._initLoaders=function(){var e=this;this.loaders.forEach((function(t){t.cache={},"function"==typeof t.on&&(t.on("update",(function(n,r){t.cache[n]=null,e.emit("update",n,r,t)})),t.on("load",(function(n,r){e.emit("load",n,r,t)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(e){e.cache={}}))},n.addExtension=function(e,t){return t.__name=e,this.extensions[e]=t,this.extensionsList.push(t),this},n.removeExtension=function(e){var t=this.getExtension(e);t&&(this.extensionsList=a.without(this.extensionsList,t),delete this.extensions[e])},n.getExtension=function(e){return this.extensions[e]},n.hasExtension=function(e){return!!this.extensions[e]},n.addGlobal=function(e,t){return this.globals[e]=t,this},n.getGlobal=function(e){if(void 0===this.globals[e])throw new Error("global not found: "+e);return this.globals[e]},n.addFilter=function(e,t,n){var r=t;return n&&this.asyncFilters.push(e),this.filters[e]=r,this},n.getFilter=function(e){if(!this.filters[e])throw new Error("filter not found: "+e);return this.filters[e]},n.addTest=function(e,t){return this.tests[e]=t,this},n.getTest=function(e){if(!this.tests[e])throw new Error("test not found: "+e);return this.tests[e]},n.resolveTemplate=function(e,t,n){return e.isRelative&&t&&e.isRelative(n)&&e.resolve?e.resolve(t,n):n},n.getTemplate=function(e,t,n,r,i){var o,s=this,c=this,u=null;if(e&&e.raw&&(e=e.raw),a.isFunction(n)&&(i=n,n=null,t=t||!1),a.isFunction(t)&&(i=t,t=!1),e instanceof A)u=e;else{if("string"!=typeof e)throw new Error("template names must be a string: "+e);for(var l=0;l0&&!this.skip(i.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",e.lineno,e.colno);var a=this.parsePrimary();if("_"===a.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",a.lineno,a.colno),this.skipSymbol("as")){var c=this.parsePrimary();r.addChild(new o.Pair(a.lineno,a.colno,a,c))}else r.addChild(a);n=this.parseWithContext()}return new o.FromImport(e.lineno,e.colno,t,r,n)},c.parseBlock=function(){var e=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",e.lineno,e.colno);var t=new o.Block(e.lineno,e.colno);t.name=this.parsePrimary(),t.name instanceof o.Symbol||this.fail("parseBlock: variable name expected",e.lineno,e.colno),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(t.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),t},c.parseExtends=function(){var e="extends",t=this.peekToken();this.skipSymbol(e)||this.fail("parseTemplateRef: expected "+e);var n=new o.Extends(t.lineno,t.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n},c.parseInclude=function(){var e="include",t=this.peekToken();this.skipSymbol(e)||this.fail("parseInclude: expected "+e);var n=new o.Include(t.lineno,t.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(t.value),n},c.parseIf=function(){var e,t=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?e=new o.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?e=new o.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),e.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":e.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),e.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":e.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return e},c.parseSet=function(){var e=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",e.lineno,e.colno);for(var t,n=new o.Set(e.lineno,e.colno,[]);(t=this.parsePrimary())&&(n.targets.push(t),this.skip(i.TOKEN_COMMA)););return this.skipValue(i.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(e.value)):this.skip(i.TOKEN_BLOCK_END)?(n.body=new o.Capture(e.lineno,e.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",e.lineno,e.colno),n},c.parseSwitch=function(){var e="switch",t="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(e)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var s=this.parseExpression();this.advanceAfterBlockEnd(e),this.parseUntilBlocks(n,r,t);var a,c=this.peekToken(),u=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(e);var h=this.parseUntilBlocks(n,r,t);u.push(new o.Case(c.line,c.col,l,h)),c=this.peekToken()}while(c&&c.value===n);switch(c.value){case r:this.advanceAfterBlockEnd(),a=this.parseUntilBlocks(t),this.advanceAfterBlockEnd();break;case t:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new o.Switch(i.lineno,i.colno,s,u,a)},c.parseStatement=function(){var e=this.peekToken();if(e.type!==i.TOKEN_SYMBOL&&this.fail("tag name expected",e.lineno,e.colno),this.breakOnBlocks&&-1!==a.indexOf(this.breakOnBlocks,e.value))return null;switch(e.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var t=0;t0;){var c=s[0],u=s[1],l=s[2];l===e?r+=1:l===t&&(r-=1),0===r?(i+=u,this.tokens.backN(c.length-u.length)):i+=c}return new o.Output(a.lineno,a.colno,[new o.TemplateData(a.lineno,a.colno,i)])},c.parsePostfix=function(e){for(var t,n=this.peekToken();n;){if(n.type===i.TOKEN_LEFT_PAREN)e=new o.FunCall(n.lineno,n.colno,e,this.parseSignature());else if(n.type===i.TOKEN_LEFT_BRACKET)(t=this.parseAggregate()).children.length>1&&this.fail("invalid index"),e=new o.LookupVal(n.lineno,n.colno,e,t.children[0]);else{if(n.type!==i.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==i.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),t=new o.Literal(r.lineno,r.colno,r.value),e=new o.LookupVal(n.lineno,n.colno,e,t)}n=this.peekToken()}return e},c.parseExpression=function(){return this.parseInlineIf()},c.parseInlineIf=function(){var e=this.parseOr();if(this.skipSymbol("if")){var t=this.parseOr(),n=e;(e=new o.InlineIf(e.lineno,e.colno)).body=n,e.cond=t,this.skipSymbol("else")?e.else_=this.parseOr():e.else_=null}return e},c.parseOr=function(){for(var e=this.parseAnd();this.skipSymbol("or");){var t=this.parseAnd();e=new o.Or(e.lineno,e.colno,e,t)}return e},c.parseAnd=function(){for(var e=this.parseNot();this.skipSymbol("and");){var t=this.parseNot();e=new o.And(e.lineno,e.colno,e,t)}return e},c.parseNot=function(){var e=this.peekToken();return this.skipSymbol("not")?new o.Not(e.lineno,e.colno,this.parseNot()):this.parseIn()},c.parseIn=function(){for(var e=this.parseIs();;){var t=this.nextToken();if(!t)break;var n=t.type===i.TOKEN_SYMBOL&&"not"===t.value;if(n||this.pushToken(t),!this.skipSymbol("in")){n&&this.pushToken(t);break}var r=this.parseIs();e=new o.In(e.lineno,e.colno,e,r),n&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseIs=function(){var e=this.parseCompare();if(this.skipSymbol("is")){var t=this.skipSymbol("not"),n=this.parseCompare();e=new o.Is(e.lineno,e.colno,e,n),t&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseCompare=function(){for(var e=["==","===","!=","!==","<",">","<=",">="],t=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===e.indexOf(r.value)){this.pushToken(r);break}n.push(new o.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new o.Compare(n[0].lineno,n[0].colno,t,n):t},c.parseConcat=function(){for(var e=this.parseAdd();this.skipValue(i.TOKEN_TILDE,"~");){var t=this.parseAdd();e=new o.Concat(e.lineno,e.colno,e,t)}return e},c.parseAdd=function(){for(var e=this.parseSub();this.skipValue(i.TOKEN_OPERATOR,"+");){var t=this.parseSub();e=new o.Add(e.lineno,e.colno,e,t)}return e},c.parseSub=function(){for(var e=this.parseMul();this.skipValue(i.TOKEN_OPERATOR,"-");){var t=this.parseMul();e=new o.Sub(e.lineno,e.colno,e,t)}return e},c.parseMul=function(){for(var e=this.parseDiv();this.skipValue(i.TOKEN_OPERATOR,"*");){var t=this.parseDiv();e=new o.Mul(e.lineno,e.colno,e,t)}return e},c.parseDiv=function(){for(var e=this.parseFloorDiv();this.skipValue(i.TOKEN_OPERATOR,"/");){var t=this.parseFloorDiv();e=new o.Div(e.lineno,e.colno,e,t)}return e},c.parseFloorDiv=function(){for(var e=this.parseMod();this.skipValue(i.TOKEN_OPERATOR,"//");){var t=this.parseMod();e=new o.FloorDiv(e.lineno,e.colno,e,t)}return e},c.parseMod=function(){for(var e=this.parsePow();this.skipValue(i.TOKEN_OPERATOR,"%");){var t=this.parsePow();e=new o.Mod(e.lineno,e.colno,e,t)}return e},c.parsePow=function(){for(var e=this.parseUnary();this.skipValue(i.TOKEN_OPERATOR,"**");){var t=this.parseUnary();e=new o.Pow(e.lineno,e.colno,e,t)}return e},c.parseUnary=function(e){var t,n=this.peekToken();return t=this.skipValue(i.TOKEN_OPERATOR,"-")?new o.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(i.TOKEN_OPERATOR,"+")?new o.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),e||(t=this.parseFilter(t)),t},c.parsePrimary=function(e){var t,n=this.nextToken(),r=null;if(n?n.type===i.TOKEN_STRING?t=n.value:n.type===i.TOKEN_INT?t=parseInt(n.value,10):n.type===i.TOKEN_FLOAT?t=parseFloat(n.value):n.type===i.TOKEN_BOOLEAN?"true"===n.value?t=!0:"false"===n.value?t=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===i.TOKEN_NONE?t=null:n.type===i.TOKEN_REGEX&&(t=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==t?r=new o.Literal(n.lineno,n.colno,t):n.type===i.TOKEN_SYMBOL?r=new o.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),e||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},c.parseFilterName=function(){for(var e=this.expect(i.TOKEN_SYMBOL),t=e.value;this.skipValue(i.TOKEN_OPERATOR,".");)t+="."+this.expect(i.TOKEN_SYMBOL).value;return new o.Symbol(e.lineno,e.colno,t)},c.parseFilterArgs=function(e){return this.peekToken().type===i.TOKEN_LEFT_PAREN?this.parsePostfix(e).args.children:[]},c.parseFilter=function(e){for(;this.skip(i.TOKEN_PIPE);){var t=this.parseFilterName();e=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[e].concat(this.parseFilterArgs(e))))}return e},c.parseFilterStatement=function(){var e=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var t=this.parseFilterName(),n=this.parseFilterArgs(t);this.advanceAfterBlockEnd(e.value);var r=new o.Capture(t.lineno,t.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[r].concat(n)));return new o.Output(t.lineno,t.colno,[i])},c.parseAggregate=function(){var e,t=this.nextToken();switch(t.type){case i.TOKEN_LEFT_PAREN:e=new o.Group(t.lineno,t.colno);break;case i.TOKEN_LEFT_BRACKET:e=new o.Array(t.lineno,t.colno);break;case i.TOKEN_LEFT_CURLY:e=new o.Dict(t.lineno,t.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===i.TOKEN_RIGHT_PAREN||n===i.TOKEN_RIGHT_BRACKET||n===i.TOKEN_RIGHT_CURLY){this.nextToken();break}if(e.children.length>0&&(this.skip(i.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),e instanceof o.Dict){var r=this.parsePrimary();this.skip(i.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var s=this.parseExpression();e.addChild(new o.Pair(r.lineno,r.colno,r,s))}else{var a=this.parseExpression();e.addChild(a)}}return e},c.parseSignature=function(e,t){var n=this.peekToken();if(!t&&n.type!==i.TOKEN_LEFT_PAREN){if(e)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===i.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new o.NodeList(n.lineno,n.colno),s=new o.KeywordArgs(n.lineno,n.colno),a=!1;;){if(n=this.peekToken(),!t&&n.type===i.TOKEN_RIGHT_PAREN){this.nextToken();break}if(t&&n.type===i.TOKEN_BLOCK_END)break;if(a&&!this.skip(i.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var c=this.parseExpression();this.skipValue(i.TOKEN_OPERATOR,"=")?s.addChild(new o.Pair(c.lineno,c.colno,c,this.parseExpression())):r.addChild(c)}a=!0}return s.children.length&&r.addChild(s),r},c.parseUntilBlocks=function(){for(var e=this.breakOnBlocks,t=arguments.length,n=new Array(t),r=0;r=","//","**"],j=C+this.current();switch(-1!==r.indexOf(M,j)&&(this.forward(),C=j,-1!==r.indexOf(M,j+this.current())&&(C=j+this.current(),this.forward())),C){case"(":D=d;break;case")":D=m;break;case"[":D=y;break;case"]":D=v;break;case"{":D=g;break;case"}":D=_;break;case",":D=w;break;case":":D=x;break;case"~":D=k;break;case"|":D=E;break;default:D=b}return P(D,C,t,n)}if((e=this._extractUntil(i+o)).match(/^[-+]?[0-9]+$/)){if("."===this.current()){this.forward();var F=this._extract("0123456789");return P(S,e+"."+F,t,n)}return P("int",e,t,n)}if(e.match(/^(true|false)$/))return P(T,e,t,n);if("none"===e)return P(A,e,t,n);if("null"===e)return P(A,e,t,n);if(e)return P(O,e,t,n);throw new Error("Unexpected value while parsing: "+e)}var B,z=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((e=this._extractString(this.tags.BLOCK_START+"-"))||(e=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,P(u,e,t,n);if((e=this._extractString(this.tags.VARIABLE_START+"-"))||(e=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,P(h,e,t,n);e="";var U=!1;for(this._matches(this.tags.COMMENT_START)&&(U=!0,e=this._extractString(this.tags.COMMENT_START));null!==(B=this._extractUntil(z));){if(e+=B,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!U){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=e.length){var V=e.slice(-this.colno);if(/^\s+$/.test(V)&&!(e=e.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!U)throw new Error("unexpected end of comment");e+=this._extractString(this.tags.COMMENT_END);break}e+=this.current(),this.forward()}if(null===B&&U)throw new Error("expected end of comment, got end of file");return P(U?p:c,e,t,n)},t._parseString=function(e){this.forward();for(var t="";!this.isFinished()&&this.current()!==e;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":t+="\n";break;case"t":t+="\t";break;case"r":t+="\r";break;default:t+=this.current()}this.forward()}else t+=n,this.forward()}return this.forward(),t},t._matches=function(e){return this.index+e.length>this.len?null:this.str.slice(this.index,this.index+e.length)===e},t._extractString=function(e){return this._matches(e)?(this.forwardN(e.length),e):null},t._extractUntil=function(e){return this._extractMatching(!0,e||"")},t._extract=function(e){return this._extractMatching(!1,e)},t._extractMatching=function(e,t){if(this.isFinished())return null;var n=t.indexOf(this.current());if(e&&-1===n||!e&&-1!==n){var r=this.current();this.forward();for(var i=t.indexOf(this.current());(e&&-1===i||!e&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=t.indexOf(this.current());return r}return""},t._extractRegex=function(e){var t=this.currentStr().match(e);return t?(this.forwardN(t[0].length),t):null},t.isFinished=function(){return this.index>=this.len},t.forwardN=function(e){for(var t=0;t1024){for(var t=0,n=i.length-o;t0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}function d(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=y(c,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return d(this,e,!0)},a.prototype.rawListeners=function(e){return d(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},a.prototype.listenerCount=m,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){"use strict";var r=n(3),i=n(0),o=0;function s(){return"hole_"+o++}function a(e,t){for(var n=null,r=0;r=t)return e;var n=t-e.length,s=r.repeat(" ",n/2-n%2),a=r.repeat(" ",n/2);return i.copySafeness(e,s+e+a)},t.default=function(e,t,n){return n?e||t:void 0!==e?e:t},t.dictsort=function(e,t,n){if(!r.isObject(e))throw new r.TemplateError("dictsort filter: val must be an object");var i,o=[];for(var s in e)o.push([s,e[s]]);if(void 0===n||"key"===n)i=0;else{if("value"!==n)throw new r.TemplateError("dictsort filter: You can only sort by either key or value");i=1}return o.sort((function(e,n){var o=e[i],s=n[i];return t||(r.isString(o)&&(o=o.toUpperCase()),r.isString(s)&&(s=s.toUpperCase())),o>s?1:o===s?0:-1})),o},t.dump=function(e,t){return JSON.stringify(e,null,t)},t.escape=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(r.escape(e.toString())))},t.safe=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(e.toString()))},t.first=function(e){return e[0]},t.forceescape=function(e){return e=null==e?"":e,i.markSafe(r.escape(e.toString()))},t.groupby=function(e,t){return r.groupBy(e,t,this.env.opts.throwOnUndefined)},t.indent=function(e,t,n){if(""===(e=o(e,"")))return"";t=t||4;var s=e.split("\n"),a=r.repeat(" ",t),c=s.map((function(e,t){return 0!==t||n?""+a+e:e})).join("\n");return i.copySafeness(e,c)},t.join=function(e,t,n){return t=t||"",n&&(e=r.map(e,(function(e){return e[n]}))),e.join(t)},t.last=function(e){return e[e.length-1]},t.length=function(e){var t=o(e,"");return void 0!==t?"function"==typeof Map&&t instanceof Map||"function"==typeof Set&&t instanceof Set?t.size:!r.isObject(t)||t instanceof i.SafeString?t.length:r.keys(t).length:0},t.list=c,t.lower=function(e){return(e=o(e,"")).toLowerCase()},t.nl2br=function(e){return null==e?"":i.copySafeness(e,e.replace(/\r\n|\n/g,"
\n"))},t.random=function(e){return e[Math.floor(Math.random()*e.length)]},t.reject=u(!1),t.rejectattr=function(e,t){return e.filter((function(e){return!e[t]}))},t.select=u(!0),t.selectattr=function(e,t){return e.filter((function(e){return!!e[t]}))},t.replace=function(e,t,n,r){var o=e;if(t instanceof RegExp)return e.replace(t,n);void 0===r&&(r=-1);var s="";if("number"==typeof t)t=""+t;else if("string"!=typeof t)return e;if("number"==typeof e&&(e=""+e),"string"!=typeof e&&!(e instanceof i.SafeString))return e;if(""===t)return s=n+e.split("").join(n)+n,i.copySafeness(e,s);var a=e.indexOf(t);if(0===r||-1===a)return e;for(var c=0,u=0;a>-1&&(-1===r||u=i&&l.push(n),o.push(l)}return o},t.sum=function(e,t,n){return void 0===n&&(n=0),t&&(e=r.map(e,(function(e){return e[t]}))),n+e.reduce((function(e,t){return e+t}),0)},t.sort=i.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(e,t,n,i){var o=this,s=r.map(e,(function(e){return e})),a=r.getAttrGetter(i);return s.sort((function(e,s){var c=i?a(e):e,u=i?a(s):s;if(o.env.opts.throwOnUndefined&&i&&(void 0===c||void 0===u))throw new TypeError('sort: attribute "'+i+'" resolved to undefined');return!n&&r.isString(c)&&r.isString(u)&&(c=c.toLowerCase(),u=u.toLowerCase()),cu?t?-1:1:0})),s})),t.string=function(e){return i.copySafeness(e,e)},t.striptags=function(e,t){var n,r=l((e=o(e,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,""));return n=t?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),i.copySafeness(e,n)},t.title=function(e){var t=(e=o(e,"")).split(" ").map((function(e){return a(e)}));return i.copySafeness(e,t.join(" "))},t.trim=l,t.truncate=function(e,t,n,r){var s=e;if(t=t||255,(e=o(e,"")).length<=t)return e;if(n)e=e.substring(0,t);else{var a=e.lastIndexOf(" ",t);-1===a&&(a=t),e=e.substring(0,a)}return e+=null!=r?r:"...",i.copySafeness(s,e)},t.upper=function(e){return(e=o(e,"")).toUpperCase()},t.urlencode=function(e){var t=encodeURIComponent;return r.isString(e)?t(e):(r.isArray(e)?e:r._entries(e)).map((function(e){var n=e[0],r=e[1];return t(n)+"="+t(r)})).join("&")};var h=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,f=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,p=/^https?:\/\/.*$/,d=/^www\./,m=/\.(?:org|net|com)(?:\:|\/|$)/;t.urlize=function(e,t,n){s(t)&&(t=1/0);var r=!0===n?' rel="nofollow"':"";return e.split(/(\s+)/).filter((function(e){return e&&e.length})).map((function(e){var n=e.match(h),i=n?n[1]:e,o=i.substr(0,t);return p.test(i)?'"+o+"":d.test(i)?'"+o+"":f.test(i)?''+i+"":m.test(i)?'"+o+"":e})).join("")},t.wordcount=function(e){var t=(e=o(e,""))?e.match(/\w+/g):null;return t?t.length:null},t.float=function(e,t){var n=parseFloat(e);return s(n)?t:n};var y=i.makeMacro(["value","default","base"],[],(function(e,t,n){void 0===n&&(n=10);var r=parseInt(e,n);return s(r)?t:r}));t.int=y,t.d=t.default,t.e=t.escape},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this).precompiled=t||{},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype.getSource=function(e){return this.precompiled[e]?{src:{type:"code",obj:this.precompiled[e]},path:e}:null},i}(n(6));e.exports={PrecompiledLoader:i}},function(e,t,n){"use strict";var r=n(2).SafeString;t.callable=function(e){return"function"==typeof e},t.defined=function(e){return void 0!==e},t.divisibleby=function(e,t){return e%t==0},t.escaped=function(e){return e instanceof r},t.equalto=function(e,t){return e===t},t.eq=t.equalto,t.sameas=t.equalto,t.even=function(e){return e%2==0},t.falsy=function(e){return!e},t.ge=function(e,t){return e>=t},t.greaterthan=function(e,t){return e>t},t.gt=t.greaterthan,t.le=function(e,t){return e<=t},t.lessthan=function(e,t){return e0)for(var i=e;it;o+=n)r.push(o);return r},cycler:function(){return e=Array.prototype.slice.call(arguments),t=-1,{current:null,reset:function(){t=-1,this.current=null},next:function(){return++t>=e.length&&(t=0),this.current=e[t],this.current}};var e,t},joiner:function(e){return function(e){e=e||",";var t=!0;return function(){var n=t?"":e;return t=!1,n}}(e)}}}},function(e,t,n){var r=n(4);e.exports=function(e,t){function n(e,t){if(this.name=e,this.path=e,this.defaultEngine=t.defaultEngine,this.ext=r.extname(e),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=("."!==this.defaultEngine[0]?".":"")+this.defaultEngine)}return n.prototype.render=function(t,n){e.render(this.name,t,n)},t.set("view",n),t.set("nunjucksEnv",e),e}},function(e,t,n){"use strict";var r=n(4),i=n(4),o=n(0)._prettifyError,s=n(5),a=n(7).Environment,c=n(24);function u(e,t){return!!Array.isArray(t)&&t.some((function(t){return e.match(t)}))}function l(e,t){(t=t||{}).isString=!0;var n=t.env||new a([]),r=t.wrapper||c;if(!t.name)throw new Error('the "name" option is required when compiling a string');return r([h(e,t.name,n)],t)}function h(e,t,n){var r,i=(n=n||new a([])).asyncFilters,c=n.extensionsList;t=t.replace(/\\/g,"/");try{r=s.compile(e,i,c,t,n.opts)}catch(e){throw o(t,!1,e)}return{name:t,template:r}}e.exports={precompile:function(e,t){var n=(t=t||{}).env||new a([]),o=t.wrapper||c;if(t.isString)return l(e,t);var s=r.existsSync(e)&&r.statSync(e),f=[],p=[];if(s.isFile())f.push(h(r.readFileSync(e,"utf-8"),t.name||e,n));else if(s.isDirectory()){!function n(o){r.readdirSync(o).forEach((function(s){var a=i.join(o,s),c=a.substr(i.join(e,"/").length),l=r.statSync(a);l&&l.isDirectory()?u(c+="/",t.exclude)||n(a):u(c,t.include)&&p.push(a)}))}(e);for(var d=0;de.length||i>0&&s>=r||i<0&&s<=r);s+=i)o.push(n.memberLookup(e,s));return o}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var d={pop:function(e){if(void 0===e)return this.pop();if(e>=this.length||e<0)throw new Error("KeyError");return this.splice(e,1)},append:function(e){return this.push(e)},remove:function(e){for(var t=0;t{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{"use strict";r.r(i),r.d(i,{Component:()=>_,ComponentAttribute:()=>s,ComponentAttributeDefinition:()=>A,ComponentDefinition:()=>w,ComponentDrawOption:()=>h,ComponentLink:()=>L,ComponentLinkDefinition:()=>D,DefaultConfiguration:()=>CN,DefaultData:()=>SN,DefaultDrawer:()=>WO,DefaultMetadata:()=>QO,DefaultParser:()=>JO,DefaultPlugin:()=>BN,DefaultRender:()=>rN,FileInformation:()=>l,FileInput:()=>U,ParseError:()=>uN,Tag:()=>UN,Variable:()=>GN});var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,"string");if("object"!=t(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(n)?n:n+""}r.r(e),r.d(e,{Adder:()=>de,Delaunay:()=>Ic,FormatSpecifier:()=>Zl,InternMap:()=>ve,InternSet:()=>ge,Node:()=>ky,Path:()=>Qs,Voronoi:()=>Oc,ZoomTransform:()=>CT,active:()=>ts,arc:()=>mE,area:()=>kE,areaRadial:()=>RE,ascending:()=>V,autoType:()=>pu,axisBottom:()=>on,axisLeft:()=>sn,axisRight:()=>rn,axisTop:()=>nn,bin:()=>Ze,bisect:()=>X,bisectCenter:()=>Q,bisectLeft:()=>Y,bisectRight:()=>G,bisector:()=>q,blob:()=>nl,blur:()=>Z,blur2:()=>J,blurImage:()=>ee,brush:()=>Ps,brushSelection:()=>As,brushX:()=>Os,brushY:()=>Ns,buffer:()=>il,chord:()=>Us,chordDirected:()=>$s,chordTranspose:()=>Vs,cluster:()=>yy,color:()=>Xr,contourDensity:()=>oc,contours:()=>Xa,count:()=>oe,create:()=>$k,creator:()=>fr,cross:()=>ue,csv:()=>ul,csvFormat:()=>eu,csvFormatBody:()=>tu,csvFormatRow:()=>ru,csvFormatRows:()=>nu,csvFormatValue:()=>iu,csvParse:()=>Zc,csvParseRows:()=>Jc,cubehelix:()=>Ua,cumsum:()=>le,curveBasis:()=>xS,curveBasisClosed:()=>ES,curveBasisOpen:()=>TS,curveBumpX:()=>ME,curveBumpY:()=>jE,curveBundle:()=>OS,curveCardinal:()=>CS,curveCardinalClosed:()=>LS,curveCardinalOpen:()=>DS,curveCatmullRom:()=>FS,curveCatmullRomClosed:()=>zS,curveCatmullRomOpen:()=>VS,curveLinear:()=>_E,curveLinearClosed:()=>qS,curveMonotoneX:()=>ZS,curveMonotoneY:()=>JS,curveNatural:()=>nT,curveStep:()=>iT,curveStepAfter:()=>sT,curveStepBefore:()=>oT,descending:()=>$,deviation:()=>fe,difference:()=>Mt,disjoint:()=>jt,dispatch:()=>fn,drag:()=>Uc,dragDisable:()=>Cr,dragEnable:()=>Rr,dsv:()=>cl,dsvFormat:()=>Qc,easeBack:()=>Qu,easeBackIn:()=>Gu,easeBackInOut:()=>Qu,easeBackOut:()=>Yu,easeBounce:()=>Ku,easeBounceIn:()=>qu,easeBounceInOut:()=>Hu,easeBounceOut:()=>Ku,easeCircle:()=>Lu,easeCircleIn:()=>Cu,easeCircleInOut:()=>Lu,easeCircleOut:()=>Ru,easeCubic:()=>Xo,easeCubicIn:()=>Yo,easeCubicInOut:()=>Xo,easeCubicOut:()=>Qo,easeElastic:()=>Ju,easeElasticIn:()=>Zu,easeElasticInOut:()=>el,easeElasticOut:()=>Ju,easeExp:()=>Pu,easeExpIn:()=>Ou,easeExpInOut:()=>Pu,easeExpOut:()=>Nu,easeLinear:()=>mu,easePoly:()=>wu,easePolyIn:()=>_u,easePolyInOut:()=>wu,easePolyOut:()=>bu,easeQuad:()=>gu,easeQuadIn:()=>yu,easeQuadInOut:()=>gu,easeQuadOut:()=>vu,easeSin:()=>Tu,easeSinIn:()=>Eu,easeSinInOut:()=>Tu,easeSinOut:()=>Su,every:()=>Pt,extent:()=>pe,fcumsum:()=>ye,filter:()=>Rt,flatGroup:()=>Ae,flatRollup:()=>Oe,forceCenter:()=>gl,forceCollide:()=>Cl,forceLink:()=>Il,forceManyBody:()=>$l,forceRadial:()=>ql,forceSimulation:()=>Vl,forceX:()=>Kl,forceY:()=>Hl,format:()=>rh,formatDefaultLocale:()=>ch,formatLocale:()=>ah,formatPrefix:()=>ih,formatSpecifier:()=>Xl,fsum:()=>me,geoAlbers:()=>Cm,geoAlbersUsa:()=>Rm,geoArea:()=>pf,geoAzimuthalEqualArea:()=>Mm,geoAzimuthalEqualAreaRaw:()=>Dm,geoAzimuthalEquidistant:()=>Fm,geoAzimuthalEquidistantRaw:()=>jm,geoBounds:()=>Gf,geoCentroid:()=>sp,geoCircle:()=>vp,geoClipAntimeridian:()=>Op,geoClipCircle:()=>Np,geoClipExtent:()=>jp,geoClipRectangle:()=>Mp,geoConicConformal:()=>qm,geoConicConformalRaw:()=>$m,geoConicEqualArea:()=>Pm,geoConicEqualAreaRaw:()=>Nm,geoConicEquidistant:()=>Gm,geoConicEquidistantRaw:()=>Wm,geoContains:()=>ed,geoDistance:()=>Kp,geoEqualEarth:()=>ty,geoEqualEarthRaw:()=>ey,geoEquirectangular:()=>Hm,geoEquirectangularRaw:()=>Km,geoGnomonic:()=>ry,geoGnomonicRaw:()=>ny,geoGraticule:()=>rd,geoGraticule10:()=>id,geoIdentity:()=>iy,geoInterpolate:()=>od,geoLength:()=>Vp,geoMercator:()=>zm,geoMercatorRaw:()=>Bm,geoNaturalEarth1:()=>sy,geoNaturalEarth1Raw:()=>oy,geoOrthographic:()=>cy,geoOrthographicRaw:()=>ay,geoPath:()=>fm,geoProjection:()=>Tm,geoProjectionMutator:()=>Am,geoRotation:()=>dp,geoStereographic:()=>ly,geoStereographicRaw:()=>uy,geoStream:()=>Vh,geoTransform:()=>pm,geoTransverseMercator:()=>fy,geoTransverseMercatorRaw:()=>hy,gray:()=>wa,greatest:()=>ot,greatestIndex:()=>xt,group:()=>Ee,groupSort:()=>Be,groups:()=>Se,hcl:()=>Pa,hierarchy:()=>gy,histogram:()=>Ze,hsl:()=>li,html:()=>yl,image:()=>hl,index:()=>Ce,indexes:()=>Re,interpolate:()=>Mi,interpolateArray:()=>Oi,interpolateBasis:()=>yi,interpolateBasisClosed:()=>vi,interpolateBlues:()=>yk,interpolateBrBG:()=>Ox,interpolateBuGn:()=>Hx,interpolateBuPu:()=>Gx,interpolateCividis:()=>Ak,interpolateCool:()=>Pk,interpolateCubehelix:()=>jv,interpolateCubehelixDefault:()=>Ok,interpolateCubehelixLong:()=>Fv,interpolateDate:()=>Pi,interpolateDiscrete:()=>Ev,interpolateGnBu:()=>Qx,interpolateGreens:()=>gk,interpolateGreys:()=>bk,interpolateHcl:()=>Iv,interpolateHclLong:()=>Dv,interpolateHsl:()=>Pv,interpolateHslLong:()=>Cv,interpolateHue:()=>Sv,interpolateInferno:()=>Uk,interpolateLab:()=>Rv,interpolateMagma:()=>zk,interpolateNumber:()=>Ci,interpolateNumberArray:()=>Ti,interpolateObject:()=>Ri,interpolateOrRd:()=>Zx,interpolateOranges:()=>Tk,interpolatePRGn:()=>Px,interpolatePiYG:()=>Rx,interpolatePlasma:()=>Vk,interpolatePuBu:()=>nk,interpolatePuBuGn:()=>ek,interpolatePuOr:()=>Ix,interpolatePuRd:()=>ik,interpolatePurples:()=>xk,interpolateRainbow:()=>Rk,interpolateRdBu:()=>Mx,interpolateRdGy:()=>Fx,interpolateRdPu:()=>sk,interpolateRdYlBu:()=>zx,interpolateRdYlGn:()=>Vx,interpolateReds:()=>Ek,interpolateRgb:()=>xi,interpolateRgbBasis:()=>Ei,interpolateRgbBasisClosed:()=>Si,interpolateRound:()=>Tv,interpolateSinebow:()=>Mk,interpolateSpectral:()=>qx,interpolateString:()=>Di,interpolateTransformCss:()=>Eo,interpolateTransformSvg:()=>So,interpolateTurbo:()=>jk,interpolateViridis:()=>Bk,interpolateWarm:()=>Nk,interpolateYlGn:()=>lk,interpolateYlGnBu:()=>ck,interpolateYlOrBr:()=>fk,interpolateYlOrRd:()=>dk,interpolateZoom:()=>Ov,interrupt:()=>go,intersection:()=>Ft,interval:()=>OT,isoFormat:()=>ST,isoParse:()=>AT,json:()=>pl,lab:()=>xa,lch:()=>Na,least:()=>bt,leastIndex:()=>wt,line:()=>xE,lineRadial:()=>CE,link:()=>UE,linkHorizontal:()=>VE,linkRadial:()=>qE,linkVertical:()=>$E,local:()=>Kk,map:()=>Lt,matcher:()=>gn,max:()=>Je,maxIndex:()=>et,mean:()=>ht,median:()=>ft,medianIndex:()=>pt,merge:()=>dt,min:()=>tt,minIndex:()=>nt,mode:()=>mt,namespace:()=>Ln,namespaces:()=>Rn,nice:()=>Qe,now:()=>Qi,pack:()=>Gy,packEnclose:()=>Ry,packSiblings:()=>Hy,pairs:()=>yt,partition:()=>ev,path:()=>Xs,pathRound:()=>Zs,permute:()=>De,pie:()=>TE,piecewise:()=>Bv,pointRadial:()=>LE,pointer:()=>Fi,pointers:()=>Wk,polygonArea:()=>Uv,polygonCentroid:()=>Vv,polygonContains:()=>Wv,polygonHull:()=>Hv,polygonLength:()=>Gv,precisionFixed:()=>uh,precisionPrefix:()=>lh,precisionRound:()=>hh,quadtree:()=>kl,quantile:()=>st,quantileIndex:()=>ct,quantileSorted:()=>at,quantize:()=>zv,quickselect:()=>rt,radialArea:()=>RE,radialLine:()=>CE,randomBates:()=>tg,randomBernoulli:()=>ig,randomBeta:()=>ag,randomBinomial:()=>cg,randomCauchy:()=>lg,randomExponential:()=>ng,randomGamma:()=>sg,randomGeometric:()=>og,randomInt:()=>Xv,randomIrwinHall:()=>eg,randomLcg:()=>yg,randomLogNormal:()=>Jv,randomLogistic:()=>hg,randomNormal:()=>Zv,randomPareto:()=>rg,randomPoisson:()=>fg,randomUniform:()=>Qv,randomWeibull:()=>ug,range:()=>gt,rank:()=>_t,reduce:()=>It,reverse:()=>Dt,rgb:()=>ti,ribbon:()=>ua,ribbonArrow:()=>la,rollup:()=>Ne,rollups:()=>Pe,scaleBand:()=>wg,scaleDiverging:()=>lx,scaleDivergingLog:()=>hx,scaleDivergingPow:()=>px,scaleDivergingSqrt:()=>dx,scaleDivergingSymlog:()=>fx,scaleIdentity:()=>Mg,scaleImplicit:()=>_g,scaleLinear:()=>Dg,scaleLog:()=>Kg,scaleOrdinal:()=>bg,scalePoint:()=>kg,scalePow:()=>e_,scaleQuantile:()=>i_,scaleQuantize:()=>o_,scaleRadial:()=>r_,scaleSequential:()=>rx,scaleSequentialLog:()=>ix,scaleSequentialPow:()=>sx,scaleSequentialQuantile:()=>cx,scaleSequentialSqrt:()=>ax,scaleSequentialSymlog:()=>ox,scaleSqrt:()=>t_,scaleSymlog:()=>Yg,scaleThreshold:()=>s_,scaleTime:()=>Jw,scaleUtc:()=>ex,scan:()=>kt,schemeAccent:()=>vx,schemeBlues:()=>mk,schemeBrBG:()=>Ax,schemeBuGn:()=>Kx,schemeBuPu:()=>Wx,schemeCategory10:()=>yx,schemeDark2:()=>gx,schemeGnBu:()=>Yx,schemeGreens:()=>vk,schemeGreys:()=>_k,schemeOrRd:()=>Xx,schemeOranges:()=>Sk,schemePRGn:()=>Nx,schemePaired:()=>_x,schemePastel1:()=>bx,schemePastel2:()=>wx,schemePiYG:()=>Cx,schemePuBu:()=>tk,schemePuBuGn:()=>Jx,schemePuOr:()=>Lx,schemePuRd:()=>rk,schemePurples:()=>wk,schemeRdBu:()=>Dx,schemeRdGy:()=>jx,schemeRdPu:()=>ok,schemeRdYlBu:()=>Bx,schemeRdYlGn:()=>Ux,schemeReds:()=>kk,schemeSet1:()=>xx,schemeSet2:()=>kx,schemeSet3:()=>Ex,schemeSpectral:()=>$x,schemeTableau10:()=>Sx,schemeYlGn:()=>uk,schemeYlGnBu:()=>ak,schemeYlOrBr:()=>hk,schemeYlOrRd:()=>pk,select:()=>Tr,selectAll:()=>Gk,selection:()=>Sr,selector:()=>dn,selectorAll:()=>vn,shuffle:()=>Et,shuffler:()=>St,some:()=>Ct,sort:()=>Me,stack:()=>hT,stackOffsetDiverging:()=>pT,stackOffsetExpand:()=>fT,stackOffsetNone:()=>aT,stackOffsetSilhouette:()=>dT,stackOffsetWiggle:()=>mT,stackOrderAppearance:()=>yT,stackOrderAscending:()=>gT,stackOrderDescending:()=>bT,stackOrderInsideOut:()=>wT,stackOrderNone:()=>cT,stackOrderReverse:()=>xT,stratify:()=>sv,style:()=>qn,subset:()=>Vt,sum:()=>Tt,superset:()=>zt,svg:()=>vl,symbol:()=>gS,symbolAsterisk:()=>HE,symbolCircle:()=>WE,symbolCross:()=>GE,symbolDiamond:()=>XE,symbolDiamond2:()=>ZE,symbolPlus:()=>JE,symbolSquare:()=>eS,symbolSquare2:()=>tS,symbolStar:()=>oS,symbolTimes:()=>mS,symbolTriangle:()=>aS,symbolTriangle2:()=>uS,symbolWye:()=>dS,symbolX:()=>mS,symbols:()=>yS,symbolsFill:()=>yS,symbolsStroke:()=>vS,text:()=>sl,thresholdFreedmanDiaconis:()=>ut,thresholdScott:()=>lt,thresholdSturges:()=>Xe,tickFormat:()=>Lg,tickIncrement:()=>Ge,tickStep:()=>Ye,ticks:()=>We,timeDay:()=>O_,timeDays:()=>N_,timeFormat:()=>Ob,timeFormatDefaultLocale:()=>Yw,timeFormatLocale:()=>Tb,timeFriday:()=>z_,timeFridays:()=>W_,timeHour:()=>E_,timeHours:()=>S_,timeInterval:()=>m_,timeMillisecond:()=>y_,timeMilliseconds:()=>v_,timeMinute:()=>b_,timeMinutes:()=>w_,timeMonday:()=>M_,timeMondays:()=>$_,timeMonth:()=>lb,timeMonths:()=>hb,timeParse:()=>Nb,timeSaturday:()=>U_,timeSaturdays:()=>G_,timeSecond:()=>g_,timeSeconds:()=>__,timeSunday:()=>D_,timeSundays:()=>V_,timeThursday:()=>B_,timeThursdays:()=>H_,timeTickInterval:()=>xb,timeTicks:()=>wb,timeTuesday:()=>j_,timeTuesdays:()=>q_,timeWednesday:()=>F_,timeWednesdays:()=>K_,timeWeek:()=>D_,timeWeeks:()=>V_,timeYear:()=>db,timeYears:()=>mb,timeout:()=>io,timer:()=>Ji,timerFlush:()=>eo,transition:()=>Ho,transpose:()=>At,tree:()=>mv,treemap:()=>bv,treemapBinary:()=>wv,treemapDice:()=>Jy,treemapResquarify:()=>kv,treemapSlice:()=>yv,treemapSliceDice:()=>xv,treemapSquarify:()=>_v,tsv:()=>ll,tsvFormat:()=>cu,tsvFormatBody:()=>uu,tsvFormatRow:()=>hu,tsvFormatRows:()=>lu,tsvFormatValue:()=>fu,tsvParse:()=>su,tsvParseRows:()=>au,union:()=>$t,unixDay:()=>R_,unixDays:()=>L_,utcDay:()=>P_,utcDays:()=>C_,utcFormat:()=>Pb,utcFriday:()=>tb,utcFridays:()=>cb,utcHour:()=>T_,utcHours:()=>A_,utcMillisecond:()=>y_,utcMilliseconds:()=>v_,utcMinute:()=>x_,utcMinutes:()=>k_,utcMonday:()=>X_,utcMondays:()=>ib,utcMonth:()=>fb,utcMonths:()=>pb,utcParse:()=>Cb,utcSaturday:()=>nb,utcSaturdays:()=>ub,utcSecond:()=>g_,utcSeconds:()=>__,utcSunday:()=>Q_,utcSundays:()=>rb,utcThursday:()=>eb,utcThursdays:()=>ab,utcTickInterval:()=>bb,utcTicks:()=>_b,utcTuesday:()=>Z_,utcTuesdays:()=>ob,utcWednesday:()=>J_,utcWednesdays:()=>sb,utcWeek:()=>Q_,utcWeeks:()=>rb,utcYear:()=>yb,utcYears:()=>vb,variance:()=>he,window:()=>zn,xml:()=>ml,zip:()=>Nt,zoom:()=>VT,zoomIdentity:()=>RT,zoomTransform:()=>LT});var o=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:null,value:null,type:null,definition:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.name,r=t.value,i=t.type,o=t.definition;this.name=n||null,this.value=null!=r?r:null,this.type=i||null,this.definition=o||null},r=[{key:"isVariable",get:function(){return!1}},{key:"hasError",value:function(){return null===this.definition?null===this.value||("array"===this.type.toLowerCase()?!Array.isArray(this.value):t(this.value)!==this.type.toLowerCase()):null!==this.value&&void 0!==this.value&&(this.__typeOfValueValidation()||this.__ruleValueValidation()||this.__ruleMinAndMaxValidation()||this.__ruleRegexValidation())}},{key:"__typeOfValueValidation",value:function(){var e=this.type.toLowerCase();return"Link"===this.definition.type?!Array.isArray(this.value)||this.value.some((function(e){return"string"!=typeof e})):"array"===e?!Array.isArray(this.value):t(this.value)!==e}},{key:"__ruleValueValidation",value:function(){var e=this;return this.definition.rules.values&&Array.isArray(this.value)?!this.value.every((function(t){return e.definition.rules.values.includes(t)})):this.definition.rules.values&&!this.definition.rules.values.includes(this.value)}},{key:"__ruleMinAndMaxValidation",value:function(){var e="number"==typeof this.value?this.value:this.value.length;return null!==this.definition.rules.min&&ethis.definition.rules.max}},{key:"__ruleRegexValidation",value:function(){return null!==this.definition.rules.regex&&!new RegExp(this.definition.rules.regex).test(this.value)}}],r&&function(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{path:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.path;this.path=null!=n?n:null},(t=[{key:"fileName",get:function(){return this.path?this.path.replace(/^.*[\\/]/,""):null}}])&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{x:null,y:null,sceneX:null,sceneY:null,width:null,height:null,needsResizing:!1,needsPositioning:!1,manuallyResized:!1,layoutDirection:"UNDEFINED",anchors:null,hide:!1};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.x,r=t.y,i=t.sceneX,o=t.sceneY,s=t.width,a=t.height,c=t.needsResizing,u=t.needsPositioning,l=t.manuallyResized;t.anchors,t.hide,this.x=n||null,this.y=r||null,this.sceneX=i||null,this.sceneY=o||null,this.width=s||null,this.height=a||null,this.innerWidth=null,this.innerHeight=null,this.needsResizing=c||!1,this.needsPositioning=u||!1,this.manuallyResized=l||!1,this.layoutDirection=t.layoutDirection||"UNDEFINED",this.anchors=t.anchors||[],this.hide=t.hide||!1}));function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function p(e){var t=function(e,t){if("object"!=f(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==f(t)?t:t+""}function d(e,t,n){return t=y(t),function(e,t){if(t&&("object"===f(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,m()?Reflect.construct(t,n||[],y(e).constructor):t.apply(e,n))}function m(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(m=function(){return!!e})()}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}var g=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:null,externalId:null,name:null,definition:null,drawOption:null,attributes:[]};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e=d(this,t,[n]);var r=n.id,i=n.externalId,o=n.name,s=n.definition,a=n.drawOption,c=n.attributes;return e.__class="Component",e.id=r||null,e.externalId=i||e.id,e.name=o||null,e.definition=s||null,e.drawOption=a||new h({width:s.width,height:s.height}),e.attributes=c||[],e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(t,e),n=t,r=[{key:"setExternalId",value:function(e){this.externalId=e}},{key:"getConfigurationKey",value:function(){return this.id}},{key:"setReferenceAttribute",value:function(e){var t=this.definition.definedAttributes.find((function(t){return t.containerRef===e.definition.type}));if(t){var n=this.attributes.filter((function(e){var n=e.definition;return(null==n?void 0:n.name)===t.name}));n.length>0?n.forEach((function(t){t.value=e.id})):this.attributes.push(this.createAttribute({name:t.name,value:e.id,type:"String",definition:t}))}}},{key:"__createNestedAttributes",value:function(e){var t=this,n=this.attributes;return e.slice().reverse().forEach((function(e){var r=n.find((function(t){return t.definition.name===e.name}));r||(r=t.createAttribute({name:e.name,definition:e,type:"Object",value:[]}),n.push(r)),n=r.value})),n}},{key:"createAttribute",value:function(e){return new s(e)}},{key:"removeAllReferenceAttributes",value:function(e){this.attributes=e?this.attributes.filter((function(t){return!("Reference"===t.definition.type&&t.definition.containerRef===e.definition.type&&t.value===e.id)})):this.attributes.filter((function(e){return"Reference"!==e.definition.type}))}},{key:"setLinkAttribute",value:function(e){var t=[],n=this.__getLinkAttribute(t,this.definition.definedAttributes,e),r=this.__createNestedAttributes(t),i=r.find((function(e){return e.definition.name===n.name}));i||(i=this.createAttribute({name:n.name,definition:n,type:"Array",value:[]}),r.push(i)),i.value.includes(e.target)||i.value.push(e.target)}},{key:"__getLinkAttribute",value:function(e,t,n){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:null;this.__removeLinkAttribute(this.attributes,e,t)}},{key:"__removeLinkAttribute",value:function(e,t,n){var r=this;e.forEach((function(e){var i;if("Object"===e.type&&r.__removeLinkAttribute(e.value,t,n),"Link"===(null===(i=e.definition)||void 0===i?void 0:i.type)&&(!n||e.name===n)){var o=e.value.findIndex((function(e){return e===t}));o>=0&&e.value.splice(o,1)}}))}},{key:"getAttributeByName",value:function(e){return this.__getAttributeByName(this.attributes,e)}},{key:"__getAttributeByName",value:function(e,t){for(var n=0;n3?i-3:0),s=3;s2?n-2:0),i=2;i0&&void 0!==arguments[0]?arguments[0]:{type:null,icon:null,model:null,displayName:null,description:null,url:null,parentTypes:[],childrenTypes:[],definedAttributes:[],isContainer:!1,displayType:null,workflowDirection:null,linkModel:null,width:0,height:0,minWidth:0,minHeight:0,containerMargin:0};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.type,r=t.icon,i=t.model,o=t.displayName,s=t.description,a=t.url,c=t.parentTypes,u=t.childrenTypes,l=t.definedAttributes,h=t.isContainer,f=t.displayType,p=t.workflowDirection,d=t.linkModel,m=t.width,y=t.height,v=t.minWidth,g=t.minHeight,_=t.containerMargin;this.type=n||null,this.icon=r||null,this.model=i||null,this.width=m||0,this.height=y||0,this.minWidth=v||0,this.minHeight=g||0,this.containerMargin=_||0,this.displayName=o||null,this.description=s||null,this.url=a||null,this.parentTypes=c||[],this.childrenTypes=u||[],this.definedAttributes=l||[],this.isContainer=void 0!==h&&h,this.displayType=f||null,this.workflowDirection=p||null,this.linkModel=null!=d?d:null}));const w=b;function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e,t,n){return(t=S(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e){var t=function(e,t){if("object"!=x(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=x(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==x(t)?t:t+""}var T=function(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:null,type:null,displayName:null,description:null,url:null,linkType:null,linkRef:[],linkModel:null,containerRef:null,required:!1,definedAttributes:[],rules:{values:null,min:null,max:null,regex:null}};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.name,r=t.type,i=t.displayName,o=t.description,s=t.url,a=t.linkType,c=t.linkRef,u=t.linkModel,l=t.containerRef,h=t.definedAttributes,f=t.required,p=t.rules;this.name=n||null,this.type=r||null,this.displayName=i||null,this.description=o||null,this.url=s||null,this.linkType=a||null,this.linkRef=c||[],this.linkModel=u||null,this.containerRef=l||null,this.definedAttributes=h||[],this.required=f||!1,this.rules=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{source:null,target:null,name:null,definition:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e=N(this,t);var r=n.source,i=n.target,o=n.name,s=n.definition;return e.__class="Link",e.source=r||null,e.target=i||null,e.name=o||null,e.definition=s||null,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(l);var I=function(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{attributeRef:null,sourceRef:null,targetRef:null,type:null,model:null,isTemporary:!1};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.attributeRef,r=t.sourceRef,i=t.targetRef,o=t.type,s=t.model,a=t.isTemporary;this.attributeRef=n||null,this.sourceRef=r||null,this.targetRef=i||null,this.type=o||null,this.model=s||null,this.isTemporary=a||!1}));const D=I;function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function j(e,t,n){return t=B(t),function(e,t){if(t&&("object"===M(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,F()?Reflect.construct(t,n||[],B(e).constructor):t.apply(e,n))}function F(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(F=function(){return!!e})()}function B(e){return B=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},B(e)}function z(e,t){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},z(e,t)}const U=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{path:null,name:null,content:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e=j(this,t,[n]);var r=n.content;return e.content=r||null,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&z(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(l);function V(e,t){return null==e||null==t?NaN:et?1:e>=t?0:NaN}function $(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function q(e){let t,n,r;function i(e,r,i=0,o=e.length){if(i>>1;n(e[t],r)<0?i=t+1:o=t}while(iV(e(t),n),r=(t,n)=>e(t)-n):(t=e===V||e===$?e:K,n=e,r=e),{left:i,center:function(e,t,n=0,o=e.length){const s=i(e,t,n,o-1);return s>n&&r(e[s-1],t)>-r(e[s],t)?s-1:s},right:function(e,r,i=0,o=e.length){if(i>>1;n(e[t],r)<=0?i=t+1:o=t}while(i=0))throw new RangeError("invalid r");let n=e.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!t)return e;const r=ie(t),i=e.slice();return r(e,i,0,n,1),r(i,e,0,n,1),r(e,i,0,n,1),e}const J=te(ie),ee=te((function(e){const t=ie(e);return(e,n,r,i,o)=>{t(e,n,0+(r<<=2),0+(i<<=2),o<<=2),t(e,n,r+1,i+1,o),t(e,n,r+2,i+2,o),t(e,n,r+3,i+3,o)}}));function te(e){return function(t,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:s}=t;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(void 0!==s?s:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!s||!n&&!r)return t;const a=n&&e(n),c=r&&e(r),u=i.slice();return a&&c?(ne(a,u,i,o,s),ne(a,i,u,o,s),ne(a,u,i,o,s),re(c,i,u,o,s),re(c,u,i,o,s),re(c,i,u,o,s)):a?(ne(a,i,u,o,s),ne(a,u,i,o,s),ne(a,i,u,o,s)):c&&(re(c,i,u,o,s),re(c,u,i,o,s),re(c,i,u,o,s)),t}}function ne(e,t,n,r,i){for(let o=0,s=r*i;o{if(!((o-=s)>=i))return;let a=e*r[i];const c=s*e;for(let e=i,t=i+c;e{if(!((s-=a)>=o))return;let c=t*i[o];const u=a*t,l=u+a;for(let e=o,t=o+u;e=t&&++n;else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(i=+i)>=i&&++n}return n}function se(e){return 0|e.length}function ae(e){return!(e>0)}function ce(e){return"object"!=typeof e||"length"in e?e:Array.from(e)}function ue(...e){const t="function"==typeof e[e.length-1]&&function(e){return t=>e(...t)}(e.pop()),n=(e=e.map(ce)).map(se),r=e.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(ae))return o;for(;;){o.push(i.map(((t,n)=>e[n][t])));let s=r;for(;++i[s]===n[s];){if(0===s)return t?o.map(t):o;i[s--]=0}}}function le(e,t){var n=0,r=0;return Float64Array.from(e,void 0===t?e=>n+=+e||0:i=>n+=+t(i,r++,e)||0)}function he(e,t){let n,r=0,i=0,o=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(n=t-i,i+=n/++r,o+=n*(t-i));else{let s=-1;for(let a of e)null!=(a=t(a,++s,e))&&(a=+a)>=a&&(n=a-i,i+=n/++r,o+=n*(a-i))}if(r>1)return o/(r-1)}function fe(e,t){const n=he(e,t);return n?Math.sqrt(n):n}function pe(e,t){let n,r;if(void 0===t)for(const t of e)null!=t&&(void 0===n?t>=t&&(n=r=t):(n>t&&(n=t),r=o&&(n=r=o):(n>o&&(n=o),r0){for(o=e[--i];i>0&&(t=o,n=e[--i],o=t+n,r=n-(o-t),!r););i>0&&(r<0&&e[i-1]<0||r>0&&e[i-1]>0)&&(n=2*r,t=o+n,n==t-o&&(o=t))}return o}}function me(e,t){const n=new de;if(void 0===t)for(let t of e)(t=+t)&&n.add(t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&n.add(i)}return+n}function ye(e,t){const n=new de;let r=-1;return Float64Array.from(e,void 0===t?e=>n.add(+e||0):i=>n.add(+t(i,++r,e)||0))}class ve extends Map{constructor(e,t=xe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(_e(this,e))}has(e){return super.has(_e(this,e))}set(e,t){return super.set(be(this,e),t)}delete(e){return super.delete(we(this,e))}}class ge extends Set{constructor(e,t=xe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const t of e)this.add(t)}has(e){return super.has(_e(this,e))}add(e){return super.add(be(this,e))}delete(e){return super.delete(we(this,e))}}function _e({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function be({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function we({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function xe(e){return null!==e&&"object"==typeof e?e.valueOf():e}function ke(e){return e}function Ee(e,...t){return Ie(e,ke,ke,t)}function Se(e,...t){return Ie(e,Array.from,ke,t)}function Te(e,t){for(let n=1,r=t.length;ne.pop().map((([t,n])=>[...e,t,n]))));return e}function Ae(e,...t){return Te(Se(e,...t),t)}function Oe(e,t,...n){return Te(Pe(e,t,...n),n)}function Ne(e,t,...n){return Ie(e,ke,t,n)}function Pe(e,t,...n){return Ie(e,Array.from,t,n)}function Ce(e,...t){return Ie(e,ke,Le,t)}function Re(e,...t){return Ie(e,Array.from,Le,t)}function Le(e){if(1!==e.length)throw new Error("duplicate key");return e[0]}function Ie(e,t,n,r){return function e(i,o){if(o>=r.length)return n(i);const s=new ve,a=r[o++];let c=-1;for(const e of i){const t=a(e,++c,i),n=s.get(t);n?n.push(e):s.set(t,[e])}for(const[t,n]of s)s.set(t,e(n,o));return t(s)}(e,0)}function De(e,t){return Array.from(t,(t=>e[t]))}function Me(e,...t){if("function"!=typeof e[Symbol.iterator])throw new TypeError("values is not iterable");e=Array.from(e);let[n]=t;if(n&&2!==n.length||t.length>1){const r=Uint32Array.from(e,((e,t)=>t));return t.length>1?(t=t.map((t=>e.map(t))),r.sort(((e,n)=>{for(const r of t){const t=Fe(r[e],r[n]);if(t)return t}}))):(n=e.map(n),r.sort(((e,t)=>Fe(n[e],n[t])))),De(e,r)}return e.sort(je(n))}function je(e=V){if(e===V)return Fe;if("function"!=typeof e)throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}function Fe(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et?1:0)}function Be(e,t,n){return(2!==t.length?Me(Ne(e,t,n),(([e,t],[n,r])=>V(t,r)||V(e,n))):Me(Ee(e,n),(([e,n],[r,i])=>t(n,i)||V(e,r)))).map((([e])=>e))}var ze=Array.prototype,Ue=ze.slice;function Ve(e){return()=>e}ze.map;const $e=Math.sqrt(50),qe=Math.sqrt(10),Ke=Math.sqrt(2);function He(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=$e?10:o>=qe?5:o>=Ke?2:1;let a,c,u;return i<0?(u=Math.pow(10,-i)/s,a=Math.round(e*u),c=Math.round(t*u),a/ut&&--c,u=-u):(u=Math.pow(10,i)*s,a=Math.round(e/u),c=Math.round(t/u),a*ut&&--c),c0))return[];if((e=+e)==(t=+t))return[e];const r=t=i))return[];const a=o-i+1,c=new Array(a);if(r)if(s<0)for(let e=0;e0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function Xe(e){return Math.max(1,Math.ceil(Math.log(oe(e))/Math.LN2)+1)}function Ze(){var e=ke,t=pe,n=Xe;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,s,a=r.length,c=new Array(a);for(i=0;i=h)if(e>=h&&t===pe){const e=Ge(l,h,n);isFinite(e)&&(e>0?h=(Math.floor(h/e)+1)*e:e<0&&(h=(Math.ceil(h*-e)+1)/-e))}else f.pop()}for(var p=f.length,d=0,m=p;f[d]<=l;)++d;for(;f[m-1]>h;)--m;(d||m0?f[i-1]:l,y.x1=i0)for(i=0;i=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n=i)&&(n=i)}return n}function et(e,t){let n,r=-1,i=-1;if(void 0===t)for(const t of e)++i,null!=t&&(n=t)&&(n=t,r=i);else for(let o of e)null!=(o=t(o,++i,e))&&(n=o)&&(n=o,r=i);return r}function tt(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function nt(e,t){let n,r=-1,i=-1;if(void 0===t)for(const t of e)++i,null!=t&&(n>t||void 0===n&&t>=t)&&(n=t,r=i);else for(let o of e)null!=(o=t(o,++i,e))&&(n>o||void 0===n&&o>=o)&&(n=o,r=i);return r}function rt(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=void 0===i?Fe:je(i);r>n;){if(r-n>600){const o=r-n+1,s=t-n+1,a=Math.log(o),c=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*c*(o-c)/o)*(s-o/2<0?-1:1);rt(e,t,Math.max(n,Math.floor(t-s*c/o+u)),Math.min(r,Math.floor(t+(o-s)*c/o+u)),i)}const o=e[t];let s=n,a=r;for(it(e,n,t),i(e[r],o)>0&&it(e,n,r);s0;)--a}0===i(e[n],o)?it(e,n,a):(++a,it(e,a,r)),a<=t&&(n=a+1),t<=a&&(r=a-1)}return e}function it(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function ot(e,t=V){let n,r=!1;if(1===t.length){let i;for(const o of e){const e=t(o);(r?V(e,i)>0:0===V(e,e))&&(n=o,i=e,r=!0)}}else for(const i of e)(r?t(i,n)>0:0===t(i,i))&&(n=i,r=!0);return n}function st(e,t,n){if(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n)),(r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return tt(e);if(t>=1)return Je(e);var r,i=(r-1)*t,o=Math.floor(i),s=Je(rt(e,o).subarray(0,o+1));return s+(tt(e.subarray(o+1))-s)*(i-o)}}function at(e,t,n=H){if((r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),s=+n(e[o],o,e);return s+(+n(e[o+1],o+1,e)-s)*(i-o)}}function ct(e,t,n=H){if(!isNaN(t=+t)){if(r=Float64Array.from(e,((t,r)=>H(n(e[r],r,e)))),t<=0)return nt(r);if(t>=1)return et(r);var r,i=Uint32Array.from(e,((e,t)=>t)),o=r.length-1,s=Math.floor(o*t);return rt(i,s,0,o,((e,t)=>Fe(r[e],r[t]))),(s=ot(i.subarray(0,s+1),(e=>r[e])))>=0?s:-1}}function ut(e,t,n){const r=oe(e),i=st(e,.75)-st(e,.25);return r&&i?Math.ceil((n-t)/(2*i*Math.pow(r,-1/3))):1}function lt(e,t,n){const r=oe(e),i=fe(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function ht(e,t){let n=0,r=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function ft(e,t){return st(e,.5,t)}function pt(e,t){return ct(e,.5,t)}function dt(e){return Array.from(function*(e){for(const t of e)yield*t}(e))}function mt(e,t){const n=new ve;if(void 0===t)for(let t of e)null!=t&&t>=t&&n.set(t,(n.get(t)||0)+1);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&i>=i&&n.set(i,(n.get(i)||0)+1)}let r,i=0;for(const[e,t]of n)t>i&&(i=t,r=e);return r}function yt(e,t=vt){const n=[];let r,i=!1;for(const o of e)i&&n.push(t(r,o)),r=o,i=!0;return n}function vt(e,t){return[e,t]}function gt(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++rt(n[e],n[r]);let o,s;return e=Uint32Array.from(n,((e,t)=>t)),e.sort(t===V?(e,t)=>Fe(n[e],n[t]):je(i)),e.forEach(((e,t)=>{const n=i(e,void 0===o?e:o);n>=0?((void 0===o||n>0)&&(o=e,s=t),r[e]=s):r[e]=NaN})),r}function bt(e,t=V){let n,r=!1;if(1===t.length){let i;for(const o of e){const e=t(o);(r?V(e,i)<0:0===V(e,e))&&(n=o,i=e,r=!0)}}else for(const i of e)(r?t(i,n)<0:0===t(i,i))&&(n=i,r=!0);return n}function wt(e,t=V){if(1===t.length)return nt(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?0===t(o,o):t(o,n)<0)&&(n=o,r=i);return r}function xt(e,t=V){if(1===t.length)return et(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?0===t(o,o):t(o,n)>0)&&(n=o,r=i);return r}function kt(e,t){const n=wt(e,t);return n<0?void 0:n}const Et=St(Math.random);function St(e){return function(t,n=0,r=t.length){let i=r-(n=+n);for(;i;){const r=e()*i--|0,o=t[i+n];t[i+n]=t[r+n],t[r+n]=o}return t}}function Tt(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function At(e){if(!(i=e.length))return[];for(var t=-1,n=tt(e,Ot),r=new Array(n);++tt(n,r,e)))}function It(e,t,n){if("function"!=typeof t)throw new TypeError("reducer is not a function");const r=e[Symbol.iterator]();let i,o,s=-1;if(arguments.length<3){if(({done:i,value:n}=r.next()),i)return;++s}for(;({done:i,value:o}=r.next()),!i;)n=t(n,o,++s,e);return n}function Dt(e){if("function"!=typeof e[Symbol.iterator])throw new TypeError("values is not iterable");return Array.from(e).reverse()}function Mt(e,...t){e=new ge(e);for(const n of t)for(const t of n)e.delete(t);return e}function jt(e,t){const n=t[Symbol.iterator](),r=new ge;for(const t of e){if(r.has(t))return!1;let e,i;for(;({value:e,done:i}=n.next())&&!i;){if(Object.is(t,e))return!1;r.add(e)}}return!0}function Ft(e,...t){e=new ge(e),t=t.map(Bt);e:for(const n of e)for(const r of t)if(!r.has(n)){e.delete(n);continue e}return e}function Bt(e){return e instanceof ge?e:new ge(e)}function zt(e,t){const n=e[Symbol.iterator](),r=new Set;for(const e of t){const t=Ut(e);if(r.has(t))continue;let i,o;for(;({value:i,done:o}=n.next());){if(o)return!1;const e=Ut(i);if(r.add(e),Object.is(t,e))break}}return!0}function Ut(e){return null!==e&&"object"==typeof e?e.valueOf():e}function Vt(e,t){return zt(t,e)}function $t(...e){const t=new ge;for(const n of e)for(const e of n)t.add(e);return t}function qt(e){return e}var Kt=1,Ht=2,Wt=3,Gt=4,Yt=1e-6;function Qt(e){return"translate("+e+",0)"}function Xt(e){return"translate(0,"+e+")"}function Zt(e){return t=>+e(t)}function Jt(e,t){return t=Math.max(0,e.bandwidth()-2*t)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function en(){return!this.__axis}function tn(e,t){var n=[],r=null,i=null,o=6,s=6,a=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,u=e===Kt||e===Gt?-1:1,l=e===Gt||e===Ht?"x":"y",h=e===Kt||e===Wt?Qt:Xt;function f(f){var p=null==r?t.ticks?t.ticks.apply(t,n):t.domain():r,d=null==i?t.tickFormat?t.tickFormat.apply(t,n):qt:i,m=Math.max(o,0)+a,y=t.range(),v=+y[0]+c,g=+y[y.length-1]+c,_=(t.bandwidth?Jt:Zt)(t.copy(),c),b=f.selection?f.selection():f,w=b.selectAll(".domain").data([null]),x=b.selectAll(".tick").data(p,t).order(),k=x.exit(),E=x.enter().append("g").attr("class","tick"),S=x.select("line"),T=x.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),x=x.merge(E),S=S.merge(E.append("line").attr("stroke","currentColor").attr(l+"2",u*o)),T=T.merge(E.append("text").attr("fill","currentColor").attr(l,u*m).attr("dy",e===Kt?"0em":e===Wt?"0.71em":"0.32em")),f!==b&&(w=w.transition(f),x=x.transition(f),S=S.transition(f),T=T.transition(f),k=k.transition(f).attr("opacity",Yt).attr("transform",(function(e){return isFinite(e=_(e))?h(e+c):this.getAttribute("transform")})),E.attr("opacity",Yt).attr("transform",(function(e){var t=this.parentNode.__axis;return h((t&&isFinite(t=t(e))?t:_(e))+c)}))),k.remove(),w.attr("d",e===Gt||e===Ht?s?"M"+u*s+","+v+"H"+c+"V"+g+"H"+u*s:"M"+c+","+v+"V"+g:s?"M"+v+","+u*s+"V"+c+"H"+g+"V"+u*s:"M"+v+","+c+"H"+g),x.attr("opacity",1).attr("transform",(function(e){return h(_(e)+c)})),S.attr(l+"2",u*o),T.attr(l,u*m).text(d),b.filter(en).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===Ht?"start":e===Gt?"end":"middle"),b.each((function(){this.__axis=_}))}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=null==e?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=null==e?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(o=s=+e,f):o},f.tickSizeInner=function(e){return arguments.length?(o=+e,f):o},f.tickSizeOuter=function(e){return arguments.length?(s=+e,f):s},f.tickPadding=function(e){return arguments.length?(a=+e,f):a},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function nn(e){return tn(Kt,e)}function rn(e){return tn(Ht,e)}function on(e){return tn(Wt,e)}function sn(e){return tn(Gt,e)}var an={value:()=>{}};function cn(){for(var e,t=0,n=arguments.length,r={};t=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:t}}))),s=-1,a=o.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++s0)for(var n,r,i=new Array(n),o=0;ot?1:e>=t?0:NaN}Sn.prototype={constructor:Sn,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Cn="http://www.w3.org/1999/xhtml";const Rn={svg:"http://www.w3.org/2000/svg",xhtml:Cn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ln(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Rn.hasOwnProperty(t)?{space:Rn[t],local:e}:e}function In(e){return function(){this.removeAttribute(e)}}function Dn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Mn(e,t){return function(){this.setAttribute(e,t)}}function jn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Fn(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Bn(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function zn(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Un(e){return function(){this.style.removeProperty(e)}}function Vn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $n(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function qn(e,t){return e.style.getPropertyValue(t)||zn(e).getComputedStyle(e,null).getPropertyValue(t)}function Kn(e){return function(){delete this[e]}}function Hn(e,t){return function(){this[e]=t}}function Wn(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Gn(e){return e.trim().split(/^|\s+/)}function Yn(e){return e.classList||new Qn(e)}function Qn(e){this._node=e,this._names=Gn(e.getAttribute("class")||"")}function Xn(e,t){for(var n=Yn(e),r=-1,i=t.length;++r=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var xr=[null];function kr(e,t){this._groups=e,this._parents=t}function Er(){return new kr([[document.documentElement]],xr)}kr.prototype=Er.prototype={constructor:kr,select:function(e){"function"!=typeof e&&(e=dn(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=w&&(w=b+1);!(_=v[w])&&++w=0;)(r=i[o])&&(s&&4^r.compareDocumentPosition(s)&&s.parentNode.insertBefore(r,s),s=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Pn);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o1?this.each((null==t?Un:"function"==typeof t?$n:Vn)(e,t,null==n?"":n)):qn(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?Kn:"function"==typeof t?Wn:Hn)(e,t)):this.node()[e]},classed:function(e,t){var n=Gn(e+"");if(arguments.length<2){for(var r=Yn(this.node()),i=-1,o=n.length;++i=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+""),s=o.length;if(!(arguments.length<2)){for(a=t?gr:vr,r=0;r>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Jr(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Jr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Vr.exec(e))?new ni(t[1],t[2],t[3],1):(t=$r.exec(e))?new ni(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=qr.exec(e))?Jr(t[1],t[2],t[3],t[4]):(t=Kr.exec(e))?Jr(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Hr.exec(e))?ci(t[1],t[2]/100,t[3]/100,1):(t=Wr.exec(e))?ci(t[1],t[2]/100,t[3]/100,t[4]):Gr.hasOwnProperty(e)?Zr(Gr[e]):"transparent"===e?new ni(NaN,NaN,NaN,0):null}function Zr(e){return new ni(e>>16&255,e>>8&255,255&e,1)}function Jr(e,t,n,r){return r<=0&&(e=t=n=NaN),new ni(e,t,n,r)}function ei(e){return e instanceof Dr||(e=Xr(e)),e?new ni((e=e.rgb()).r,e.g,e.b,e.opacity):new ni}function ti(e,t,n,r){return 1===arguments.length?ei(e):new ni(e,t,n,null==r?1:r)}function ni(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function ri(){return`#${ai(this.r)}${ai(this.g)}${ai(this.b)}`}function ii(){const e=oi(this.opacity);return`${1===e?"rgb(":"rgba("}${si(this.r)}, ${si(this.g)}, ${si(this.b)}${1===e?")":`, ${e})`}`}function oi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function si(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ai(e){return((e=si(e))<16?"0":"")+e.toString(16)}function ci(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function ui(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof Dr||(e=Xr(e)),!e)return new hi;if(e instanceof hi)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,c=(o+i)/2;return a?(s=t===o?(n-r)/a+6*(n0&&c<1?0:s,new hi(s,a,c,e.opacity)}function li(e,t,n,r){return 1===arguments.length?ui(e):new hi(e,t,n,null==r?1:r)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function fi(e){return(e=(e||0)%360)<0?e+360:e}function pi(e){return Math.max(0,Math.min(1,e||0))}function di(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function mi(e,t,n,r,i){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*i)/6}function yi(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],s=r>0?e[r-1]:2*i-o,a=r=240?e-240:e+120,i,r),di(e,i,r),di(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(fi(this.h),pi(this.s),pi(this.l),oi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=oi(this.opacity);return`${1===e?"hsl(":"hsla("}${fi(this.h)}, ${100*pi(this.s)}%, ${100*pi(this.l)}%${1===e?")":`, ${e})`}`}}));const gi=e=>()=>e;function _i(e,t){return function(n){return e+n*t}}function bi(e,t){var n=t-e;return n?_i(e,n>180||n<-180?n-360*Math.round(n/360):n):gi(isNaN(e)?t:e)}function wi(e,t){var n=t-e;return n?_i(e,n):gi(isNaN(e)?t:e)}const xi=function e(t){var n=function(e){return 1==(e=+e)?wi:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):gi(isNaN(t)?n:t)}}(t);function r(e,t){var r=n((e=ti(e)).r,(t=ti(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),s=wi(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=s(t),e+""}}return r.gamma=e,r}(1);function ki(e){return function(t){var n,r,i=t.length,o=new Array(i),s=new Array(i),a=new Array(i);for(n=0;no&&(i=t.slice(o,i),a[s]?a[s]+=i:a[++s]=i),(n=n[0])===(r=r[0])?a[s]?a[s]+=r:a[++s]=r:(a[++s]=null,c.push({i:s,x:Ci(n,r)})),o=Ii.lastIndex;return o=0&&t._call.call(void 0,e),t=t._next;--Ui}function to(){Hi=(Ki=Gi.now())+Wi,Ui=Vi=0;try{eo()}finally{Ui=0,function(){for(var e,t,n=Bi,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:Bi=t);zi=e,ro(r)}(),Hi=0}}function no(){var e=Gi.now(),t=e-Ki;t>qi&&(Wi-=t,Ki=e)}function ro(e){Ui||(Vi&&(Vi=clearTimeout(Vi)),e-Hi>24?(e<1/0&&(Vi=setTimeout(to,e-Gi.now()-Wi)),$i&&($i=clearInterval($i))):($i||(Ki=Gi.now(),$i=setInterval(no,qi)),Ui=1,Yi(to)))}function io(e,t,n){var r=new Zi;return t=null==t?0:+t,r.restart((n=>{r.stop(),e(n+t)}),t,n),r}Zi.prototype=Ji.prototype={constructor:Zi,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?Qi():+n)+(null==t?0:+t),this._next||zi===this||(zi?zi._next=this:Bi=this,zi=this),this._call=e,this._time=n,ro()},stop:function(){this._call&&(this._call=null,this._time=1/0,ro())}};var oo=fn("start","end","cancel","interrupt"),so=[],ao=0,co=1,uo=2,lo=3,ho=5,fo=6;function po(e,t,n,r,i,o){var s=e.__transition;if(s){if(n in s)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(c){var u,l,h,f;if(n.state!==co)return a();for(u in i)if((f=i[u]).name===n.name){if(f.state===lo)return io(o);4===f.state?(f.state=fo,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[u]):+uao)throw new Error("too late; already scheduled");return n}function yo(e,t){var n=vo(e,t);if(n.state>lo)throw new Error("too late; already running");return n}function vo(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function go(e,t){var n,r,i,o=e.__transition,s=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>uo&&n.state180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Ci(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}(o.rotate,s.rotate,a,c),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Ci(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}(o.skewX,s.skewX,a,c),function(e,t,n,r,o,s){if(e!==n||t!==r){var a=o.push(i(o)+"scale(",null,",",null,")");s.push({i:a-4,x:Ci(e,n)},{i:a-2,x:Ci(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,s.scaleX,s.scaleY,a,c),o=s=null,function(e){for(var t,n=-1,r=c.length;++n=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?mo:yo;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}(n,e,t))},attr:function(e,t){var n=Ln(e),r="transform"===n?So:No;return this.attrTween(e,"function"==typeof t?(n.local?Do:Io)(n,r,Oo(this,"attr."+e,t)):null==t?(n.local?Co:Po)(n):(n.local?Lo:Ro)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;var r=Ln(e);return this.tween(n,(r.local?Mo:jo)(r,t))},style:function(e,t,n){var r="transform"==(e+="")?Eo:No;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=qn(this,e),s=(this.style.removeProperty(e),qn(this,e));return o===s?null:o===n&&s===r?i:i=t(n=o,r=s)}}(e,r)).on("end.style."+e,$o(e)):"function"==typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var s=qn(this,e),a=n(this),c=a+"";return null==a&&(this.style.removeProperty(e),c=a=qn(this,e)),s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a))}}(e,r,Oo(this,"style."+e,t))).each(function(e,t){var n,r,i,o,s="style."+t,a="end."+s;return function(){var c=yo(this,e),u=c.on,l=null==c.value[s]?o||(o=$o(t)):void 0;u===n&&i===l||(r=(n=u).copy()).on(a,i=l),c.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+"";return function(){var s=qn(this,e);return s===o?null:s===r?i:i=t(r=s,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw new Error;return this.tween(r,function(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}(e,o,n)),r}return o._value=t,o}(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(Oo(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){return function(t){this.textContent=e.call(this,t)}}(r)),t}return r._value=e,r}(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,i=vo(this.node(),n).tween,o=0,s=i.length;oco&&n.name===t)return new Ko([[e]],es,t,+r);return null}const ns=e=>()=>e;function rs(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function is(e){e.preventDefault(),e.stopImmediatePropagation()}var os={name:"drag"},ss={name:"space"},as={name:"handle"},cs={name:"center"};const{abs:us,max:ls,min:hs}=Math;function fs(e){return[+e[0],+e[1]]}function ps(e){return[fs(e[0]),fs(e[1])]}var ds={name:"x",handles:["w","e"].map(xs),input:function(e,t){return null==e?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},ms={name:"y",handles:["n","s"].map(xs),input:function(e,t){return null==e?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},ys={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(xs),input:function(e){return null==e?null:ps(e)},output:function(e){return e}},vs={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},gs={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},_s={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},bs={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ws={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function xs(e){return{type:e}}function ks(e){return!e.ctrlKey&&!e.button}function Es(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function Ss(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ts(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function As(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function Os(){return Cs(ds)}function Ns(){return Cs(ms)}function Ps(){return Cs(ys)}function Cs(e){var t,n=Es,r=ks,i=Ss,o=!0,s=fn("start","brush","end"),a=6;function c(t){var n=t.property("__brush",m).selectAll(".overlay").data([xs("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",vs.overlay).merge(n).each((function(){var e=Ts(this).extent;Tr(this).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1])})),t.selectAll(".selection").data([xs("selection")]).enter().append("rect").attr("class","selection").attr("cursor",vs.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=t.selectAll(".handle").data(e.handles,(function(e){return e.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(e){return"handle handle--"+e.type})).attr("cursor",(function(e){return vs[e.type]})),t.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(){var e=Tr(this),t=Ts(this).selection;t?(e.selectAll(".selection").style("display",null).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1]),e.selectAll(".handle").style("display",null).attr("x",(function(e){return"e"===e.type[e.type.length-1]?t[1][0]-a/2:t[0][0]-a/2})).attr("y",(function(e){return"s"===e.type[0]?t[1][1]-a/2:t[0][1]-a/2})).attr("width",(function(e){return"n"===e.type||"s"===e.type?t[1][0]-t[0][0]+a:a})).attr("height",(function(e){return"e"===e.type||"w"===e.type?t[1][1]-t[0][1]+a:a}))):e.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(e,t,n){var r=e.__brush.emitter;return!r||n&&r.clean?new h(e,t,n):r}function h(e,t,n){this.that=e,this.args=t,this.state=e.__brush,this.active=0,this.clean=n}function f(n){if((!t||n.touches)&&r.apply(this,arguments)){var i,s,a,c,h,f,p,d,m,y,v,g=this,_=n.target.__data__.type,b="selection"===(o&&n.metaKey?_="overlay":_)?os:o&&n.altKey?cs:as,w=e===ms?null:bs[_],x=e===ds?null:ws[_],k=Ts(g),E=k.extent,S=k.selection,T=E[0][0],A=E[0][1],O=E[1][0],N=E[1][1],P=0,C=0,R=w&&x&&o&&n.shiftKey,L=Array.from(n.touches||[n],(e=>{const t=e.identifier;return(e=Fi(e,g)).point0=e.slice(),e.identifier=t,e}));go(g);var I=l(g,arguments,!0).beforestart();if("overlay"===_){S&&(m=!0);const t=[L[0],L[1]||L[0]];k.selection=S=[[i=e===ms?T:hs(t[0][0],t[1][0]),a=e===ds?A:hs(t[0][1],t[1][1])],[h=e===ms?O:ls(t[0][0],t[1][0]),p=e===ds?N:ls(t[0][1],t[1][1])]],L.length>1&&B(n)}else i=S[0][0],a=S[0][1],h=S[1][0],p=S[1][1];s=i,c=a,f=h,d=p;var D=Tr(g).attr("pointer-events","none"),M=D.selectAll(".overlay").attr("cursor",vs[_]);if(n.touches)I.moved=F,I.ended=z;else{var j=Tr(n.view).on("mousemove.brush",F,!0).on("mouseup.brush",z,!0);o&&j.on("keydown.brush",(function(e){switch(e.keyCode){case 16:R=w&&x;break;case 18:b===as&&(w&&(h=f-P*w,i=s+P*w),x&&(p=d-C*x,a=c+C*x),b=cs,B(e));break;case 32:b!==as&&b!==cs||(w<0?h=f-P:w>0&&(i=s-P),x<0?p=d-C:x>0&&(a=c-C),b=ss,M.attr("cursor",vs.selection),B(e));break;default:return}is(e)}),!0).on("keyup.brush",(function(e){switch(e.keyCode){case 16:R&&(y=v=R=!1,B(e));break;case 18:b===cs&&(w<0?h=f:w>0&&(i=s),x<0?p=d:x>0&&(a=c),b=as,B(e));break;case 32:b===ss&&(e.altKey?(w&&(h=f-P*w,i=s+P*w),x&&(p=d-C*x,a=c+C*x),b=cs):(w<0?h=f:w>0&&(i=s),x<0?p=d:x>0&&(a=c),b=as),M.attr("cursor",vs[_]),B(e));break;default:return}is(e)}),!0),Cr(n.view)}u.call(g),I.start(n,b.name)}function F(e){for(const t of e.changedTouches||[e])for(const e of L)e.identifier===t.identifier&&(e.cur=Fi(t,g));if(R&&!y&&!v&&1===L.length){const e=L[0];us(e.cur[0]-e[0])>us(e.cur[1]-e[1])?v=!0:y=!0}for(const e of L)e.cur&&(e[0]=e.cur[0],e[1]=e.cur[1]);m=!0,is(e),B(e)}function B(e){const t=L[0],n=t.point0;var r;switch(P=t[0]-n[0],C=t[1]-n[1],b){case ss:case os:w&&(P=ls(T-i,hs(O-h,P)),s=i+P,f=h+P),x&&(C=ls(A-a,hs(N-p,C)),c=a+C,d=p+C);break;case as:L[1]?(w&&(s=ls(T,hs(O,L[0][0])),f=ls(T,hs(O,L[1][0])),w=1),x&&(c=ls(A,hs(N,L[0][1])),d=ls(A,hs(N,L[1][1])),x=1)):(w<0?(P=ls(T-i,hs(O-i,P)),s=i+P,f=h):w>0&&(P=ls(T-h,hs(O-h,P)),s=i,f=h+P),x<0?(C=ls(A-a,hs(N-a,C)),c=a+C,d=p):x>0&&(C=ls(A-p,hs(N-p,C)),c=a,d=p+C));break;case cs:w&&(s=ls(T,hs(O,i-P*w)),f=ls(T,hs(O,h+P*w))),x&&(c=ls(A,hs(N,a-C*x)),d=ls(A,hs(N,p+C*x)))}fe+n))}function Us(){return qs(!1,!1)}function Vs(){return qs(!1,!0)}function $s(){return qs(!0,!1)}function qs(e,t){var n=0,r=null,i=null,o=null;function s(s){var a,c=s.length,u=new Array(c),l=zs(0,c),h=new Array(c*c),f=new Array(c),p=0;s=Float64Array.from({length:c*c},t?(e,t)=>s[t%c][t/c|0]:(e,t)=>s[t/c|0][t%c]);for(let t=0;tr(u[e],u[t])));for(const n of l){const r=t;if(e){const e=zs(1+~c,c).filter((e=>e<0?s[~e*c+n]:s[n*c+e]));i&&e.sort(((e,t)=>i(e<0?-s[~e*c+n]:s[n*c+e],t<0?-s[~t*c+n]:s[n*c+t])));for(const r of e)r<0?(h[~r*c+n]||(h[~r*c+n]={source:null,target:null})).target={index:n,startAngle:t,endAngle:t+=s[~r*c+n]*p,value:s[~r*c+n]}:(h[n*c+r]||(h[n*c+r]={source:null,target:null})).source={index:n,startAngle:t,endAngle:t+=s[n*c+r]*p,value:s[n*c+r]};f[n]={index:n,startAngle:r,endAngle:t,value:u[n]}}else{const e=zs(0,c).filter((e=>s[n*c+e]||s[e*c+n]));i&&e.sort(((e,t)=>i(s[n*c+e],s[n*c+t])));for(const r of e){let e;if(n=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Ys;const n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tWs)if(Math.abs(l*a-c*u)>Ws&&i){let f=n-o,p=r-s,d=a*a+c*c,m=f*f+p*p,y=Math.sqrt(d),v=Math.sqrt(h),g=i*Math.tan((Ks-Math.acos((d+h-m)/(2*y*v)))/2),_=g/v,b=g/y;Math.abs(_-1)>Ws&&this._append`L${e+_*u},${t+_*l}`,this._append`A${i},${i},0,0,${+(l*f>u*p)},${this._x1=e+b*a},${this._y1=t+b*c}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,n,r,i,o){if(e=+e,t=+t,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(r),a=n*Math.sin(r),c=e+s,u=t+a,l=1^o,h=o?r-i:i-r;null===this._x1?this._append`M${c},${u}`:(Math.abs(this._x1-c)>Ws||Math.abs(this._y1-u)>Ws)&&this._append`L${c},${u}`,n&&(h<0&&(h=h%Hs+Hs),h>Gs?this._append`A${n},${n},0,1,${l},${e-s},${t-a}A${n},${n},0,1,${l},${this._x1=c},${this._y1=u}`:h>Ws&&this._append`A${n},${n},0,${+(h>=Ks)},${l},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function Xs(){return new Qs}function Zs(e=3){return new Qs(+e)}Xs.prototype=Qs.prototype;var Js=Array.prototype.slice;function ea(e){return function(){return e}}function ta(e){return e.source}function na(e){return e.target}function ra(e){return e.radius}function ia(e){return e.startAngle}function oa(e){return e.endAngle}function sa(){return 0}function aa(){return 10}function ca(e){var t=ta,n=na,r=ra,i=ra,o=ia,s=oa,a=sa,c=null;function u(){var u,l=t.apply(this,arguments),h=n.apply(this,arguments),f=a.apply(this,arguments)/2,p=Js.call(arguments),d=+r.apply(this,(p[0]=l,p)),m=o.apply(this,p)-Ms,y=s.apply(this,p)-Ms,v=+i.apply(this,(p[0]=h,p)),g=o.apply(this,p)-Ms,_=s.apply(this,p)-Ms;if(c||(c=u=Xs()),f>Bs&&(Rs(y-m)>2*f+Bs?y>m?(m+=f,y-=f):(m-=f,y+=f):m=y=(m+y)/2,Rs(_-g)>2*f+Bs?_>g?(g+=f,_-=f):(g-=f,_+=f):g=_=(g+_)/2),c.moveTo(d*Ls(m),d*Is(m)),c.arc(0,0,d,m,y),m!==g||y!==_)if(e){var b=v-+e.apply(this,arguments),w=(g+_)/2;c.quadraticCurveTo(0,0,b*Ls(g),b*Is(g)),c.lineTo(v*Ls(w),v*Is(w)),c.lineTo(b*Ls(_),b*Is(_))}else c.quadraticCurveTo(0,0,v*Ls(g),v*Is(g)),c.arc(0,0,v,g,_);if(c.quadraticCurveTo(0,0,d*Ls(m),d*Is(m)),c.closePath(),u)return c=null,u+""||null}return e&&(u.headRadius=function(t){return arguments.length?(e="function"==typeof t?t:ea(+t),u):e}),u.radius=function(e){return arguments.length?(r=i="function"==typeof e?e:ea(+e),u):r},u.sourceRadius=function(e){return arguments.length?(r="function"==typeof e?e:ea(+e),u):r},u.targetRadius=function(e){return arguments.length?(i="function"==typeof e?e:ea(+e),u):i},u.startAngle=function(e){return arguments.length?(o="function"==typeof e?e:ea(+e),u):o},u.endAngle=function(e){return arguments.length?(s="function"==typeof e?e:ea(+e),u):s},u.padAngle=function(e){return arguments.length?(a="function"==typeof e?e:ea(+e),u):a},u.source=function(e){return arguments.length?(t=e,u):t},u.target=function(e){return arguments.length?(n=e,u):n},u.context=function(e){return arguments.length?(c=null==e?null:e,u):c},u}function ua(){return ca()}function la(){return ca(aa)}const ha=Math.PI/180,fa=180/Math.PI,pa=.96422,da=1,ma=.82521,ya=4/29,va=6/29,ga=3*va*va,_a=va*va*va;function ba(e){if(e instanceof ka)return new ka(e.l,e.a,e.b,e.opacity);if(e instanceof Ca)return Ra(e);e instanceof ni||(e=ei(e));var t,n,r=Aa(e.r),i=Aa(e.g),o=Aa(e.b),s=Ea((.2225045*r+.7168786*i+.0606169*o)/da);return r===i&&i===o?t=n=s:(t=Ea((.4360747*r+.3850649*i+.1430804*o)/pa),n=Ea((.0139322*r+.0971045*i+.7141733*o)/ma)),new ka(116*s-16,500*(t-s),200*(s-n),e.opacity)}function wa(e,t){return new ka(e,0,0,null==t?1:t)}function xa(e,t,n,r){return 1===arguments.length?ba(e):new ka(e,t,n,null==r?1:r)}function ka(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function Ea(e){return e>_a?Math.pow(e,1/3):e/ga+ya}function Sa(e){return e>va?e*e*e:ga*(e-ya)}function Ta(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Aa(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Oa(e){if(e instanceof Ca)return new Ca(e.h,e.c,e.l,e.opacity);if(e instanceof ka||(e=ba(e)),0===e.a&&0===e.b)return new Ca(NaN,0()=>e;function Ha(e,t){for(var n,r=-1,i=t.length;++rr!=p>r&&n<(f-u)*(r-l)/(p-l)+u&&(i=-i)}return i}function Ga(e,t,n){var r,i,o,s;return function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])==(n[0]-e[0])*(t[1]-e[1])}(e,t,n)&&(i=e[r=+(e[0]===t[0])],o=n[r],s=t[r],i<=o&&o<=s||s<=o&&o<=i)}function Ya(){}var Qa=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Xa(){var e=1,t=1,n=Xe,r=a;function i(e){var t=n(e);if(Array.isArray(t))t=t.slice().sort(qa);else{const n=pe(e,Za);for(t=We(...Qe(n[0],n[1],t),t);t[t.length-1]>=n[1];)t.pop();for(;t[1]o(e,t)))}function o(n,i){const o=null==i?NaN:+i;if(isNaN(o))throw new Error(`invalid value: ${i}`);var a=[],c=[];return function(n,r,i){var o,a,c,u,l,h,f=new Array,p=new Array;for(o=a=-1,u=Ja(n[0],r),Qa[u<<1].forEach(d);++o=r,Qa[l<<2].forEach(d);++o0?a.push([e]):c.push(e)})),c.forEach((function(e){for(var t,n=0,r=a.length;n0&&o0&&s=0&&o>=0))throw new Error("invalid size");return e=r,t=o,i},i.thresholds=function(e){return arguments.length?(n="function"==typeof e?e:Array.isArray(e)?Ka($a.call(e)):Ka(e),i):n},i.smooth=function(e){return arguments.length?(r=e?a:Ya,i):r===a},i}function Za(e){return isFinite(e)?e:NaN}function Ja(e,t){return null!=e&&+e>=t}function ec(e){return null==e||isNaN(e=+e)?-1/0:e}function tc(e,t,n,r){const i=r-t,o=n-t,s=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(s)?e:e+s-.5}function nc(e){return e[0]}function rc(e){return e[1]}function ic(){return 1}function oc(){var e=nc,t=rc,n=ic,r=960,i=500,o=20,s=2,a=3*o,c=r+2*a>>s,u=i+2*a>>s,l=Ka(20);function h(r){var i=new Float32Array(c*u),l=Math.pow(2,-s),h=-1;for(const o of r){var f=(e(o,++h,r)+a)*l,p=(t(o,h,r)+a)*l,d=+n(o,h,r);if(d&&f>=0&&f=0&&pe*r)))(t).map(((e,t)=>(e.value=+n[t],p(e))))}function p(e){return e.coordinates.forEach(d),e}function d(e){e.forEach(m)}function m(e){e.forEach(y)}function y(e){e[0]=e[0]*Math.pow(2,s)-a,e[1]=e[1]*Math.pow(2,s)-a}function v(){return c=r+2*(a=3*o)>>s,u=i+2*a>>s,f}return f.contours=function(e){var t=h(e),n=Xa().size([c,u]),r=Math.pow(2,2*s),i=e=>{e=+e;var i=p(n.contour(t,e*r));return i.value=e,i};return Object.defineProperty(i,"max",{get:()=>Je(t)/r}),i},f.x=function(t){return arguments.length?(e="function"==typeof t?t:Ka(+t),f):e},f.y=function(e){return arguments.length?(t="function"==typeof e?e:Ka(+e),f):t},f.weight=function(e){return arguments.length?(n="function"==typeof e?e:Ka(+e),f):n},f.size=function(e){if(!arguments.length)return[r,i];var t=+e[0],n=+e[1];if(!(t>=0&&n>=0))throw new Error("invalid size");return r=t,i=n,v()},f.cellSize=function(e){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(e)/Math.LN2),v()},f.thresholds=function(e){return arguments.length?(l="function"==typeof e?e:Array.isArray(e)?Ka($a.call(e)):Ka(e),f):l},f.bandwidth=function(e){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((e=+e)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*e*e+1)-1)/2,v()},f}const sc=134217729;function ac(e,t,n,r,i){let o,s,a,c,u=t[0],l=r[0],h=0,f=0;l>u==l>-u?(o=u,u=t[++h]):(o=l,l=r[++f]);let p=0;if(hu==l>-u?(s=u+o,a=o-(s-u),u=t[++h]):(s=l+o,a=o-(s-l),l=r[++f]),o=s,0!==a&&(i[p++]=a);hu==l>-u?(s=o+u,c=s-o,a=o-(s-c)+(u-c),u=t[++h]):(s=o+l,c=s-o,a=o-(s-c)+(l-c),l=r[++f]),o=s,0!==a&&(i[p++]=a);for(;h=33306690738754716e-32*u?c:-function(e,t,n,r,i,o,s){let a,c,u,l,h,f,p,d,m,y,v,g,_,b,w,x,k,E;const S=e-i,T=n-i,A=t-o,O=r-o;b=S*O,f=sc*S,p=f-(f-S),d=S-p,f=sc*O,m=f-(f-O),y=O-m,w=d*y-(b-p*m-d*m-p*y),x=A*T,f=sc*A,p=f-(f-A),d=A-p,f=sc*T,m=f-(f-T),y=T-m,k=d*y-(x-p*m-d*m-p*y),v=w-k,h=w-v,uc[0]=w-(v+h)+(h-k),g=b+v,h=g-b,_=b-(g-h)+(v-h),v=_-x,h=_-v,uc[1]=_-(v+h)+(h-x),E=g+v,h=E-g,uc[2]=g-(E-h)+(v-h),uc[3]=E;let N=function(e,t){let n=t[0];for(let e=1;e<4;e++)n+=t[e];return n}(0,uc),P=22204460492503146e-32*s;if(N>=P||-N>=P)return N;if(h=e-S,a=e-(S+h)+(h-i),h=n-T,u=n-(T+h)+(h-i),h=t-A,c=t-(A+h)+(h-o),h=r-O,l=r-(O+h)+(h-o),0===a&&0===c&&0===u&&0===l)return N;if(P=11093356479670487e-47*s+33306690738754706e-32*Math.abs(N),N+=S*l+O*a-(A*u+T*c),N>=P||-N>=P)return N;b=a*O,f=sc*a,p=f-(f-a),d=a-p,f=sc*O,m=f-(f-O),y=O-m,w=d*y-(b-p*m-d*m-p*y),x=c*T,f=sc*c,p=f-(f-c),d=c-p,f=sc*T,m=f-(f-T),y=T-m,k=d*y-(x-p*m-d*m-p*y),v=w-k,h=w-v,pc[0]=w-(v+h)+(h-k),g=b+v,h=g-b,_=b-(g-h)+(v-h),v=_-x,h=_-v,pc[1]=_-(v+h)+(h-x),E=g+v,h=E-g,pc[2]=g-(E-h)+(v-h),pc[3]=E;const C=ac(4,uc,4,pc,lc);b=S*l,f=sc*S,p=f-(f-S),d=S-p,f=sc*l,m=f-(f-l),y=l-m,w=d*y-(b-p*m-d*m-p*y),x=A*u,f=sc*A,p=f-(f-A),d=A-p,f=sc*u,m=f-(f-u),y=u-m,k=d*y-(x-p*m-d*m-p*y),v=w-k,h=w-v,pc[0]=w-(v+h)+(h-k),g=b+v,h=g-b,_=b-(g-h)+(v-h),v=_-x,h=_-v,pc[1]=_-(v+h)+(h-x),E=g+v,h=E-g,pc[2]=g-(E-h)+(v-h),pc[3]=E;const R=ac(C,lc,4,pc,hc);b=a*l,f=sc*a,p=f-(f-a),d=a-p,f=sc*l,m=f-(f-l),y=l-m,w=d*y-(b-p*m-d*m-p*y),x=c*u,f=sc*c,p=f-(f-c),d=c-p,f=sc*u,m=f-(f-u),y=u-m,k=d*y-(x-p*m-d*m-p*y),v=w-k,h=w-v,pc[0]=w-(v+h)+(h-k),g=b+v,h=g-b,_=b-(g-h)+(v-h),v=_-x,h=_-v,pc[1]=_-(v+h)+(h-x),E=g+v,h=E-g,pc[2]=g-(E-h)+(v-h),pc[3]=E;const L=ac(R,hc,4,pc,fc);return fc[L-1]}(e,t,n,r,i,o,u)}cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(8),cc(8),cc(8),cc(4),cc(8),cc(8),cc(8),cc(12),cc(192),cc(192),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(8),cc(8),cc(8),cc(8),cc(8),cc(8),cc(8),cc(8),cc(8),cc(4),cc(4),cc(4),cc(8),cc(16),cc(16),cc(16),cc(32),cc(32),cc(48),cc(64),cc(1152),cc(1152),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(4),cc(24),cc(24),cc(24),cc(24),cc(24),cc(24),cc(24),cc(24),cc(24),cc(24),cc(1152),cc(1152),cc(1152),cc(1152),cc(1152),cc(2304),cc(2304),cc(3456),cc(5760),cc(8),cc(8),cc(8),cc(16),cc(24),cc(48),cc(48),cc(96),cc(192),cc(384),cc(384),cc(384),cc(768),cc(96),cc(96),cc(96),cc(1152);const mc=Math.pow(2,-52),yc=new Uint32Array(512);class vc{static from(e,t=kc,n=Ec){const r=e.length,i=new Float64Array(2*r);for(let o=0;o>1;if(t>0&&"number"!=typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;const n=Math.max(2*t-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.update()}update(){const{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,o=e.length>>1;let s=1/0,a=1/0,c=-1/0,u=-1/0;for(let t=0;tc&&(c=n),r>u&&(u=r),this._ids[t]=t}const l=(s+c)/2,h=(a+u)/2;let f,p,d,m=1/0;for(let t=0;t0&&(p=t,m=n)}let g=e[2*p],_=e[2*p+1],b=1/0;for(let t=0;tr&&(t[n++]=i,r=this._dists[i])}return this.hull=t.subarray(0,n),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(dc(y,v,g,_,w,x)<0){const e=p,t=g,n=_;p=d,g=w,_=x,d=e,w=t,x=n}const k=function(e,t,n,r,i,o){const s=n-e,a=r-t,c=i-e,u=o-t,l=s*s+a*a,h=c*c+u*u,f=.5/(s*u-a*c);return{x:e+(u*l-a*h)*f,y:t+(s*h-c*l)*f}}(y,v,g,_,w,x);this._cx=k.x,this._cy=k.y;for(let t=0;t0&&Math.abs(u-o)<=mc&&Math.abs(l-s)<=mc)continue;if(o=u,s=l,c===f||c===p||c===d)continue;let h=0;for(let e=0,t=this._hashKey(u,l);e=0;)if(y=m,y===h){y=-1;break}if(-1===y)continue;let v=this._addTriangle(y,c,n[y],-1,-1,r[y]);r[c]=this._legalize(v+2),r[y]=v,E++;let g=n[y];for(;m=n[g],dc(u,l,e[2*g],e[2*g+1],e[2*m],e[2*m+1])<0;)v=this._addTriangle(g,c,m,r[c],-1,r[g]),r[c]=this._legalize(v+2),n[g]=g,E--,g=m;if(y===h)for(;m=t[y],dc(u,l,e[2*m],e[2*m+1],e[2*y],e[2*y+1])<0;)v=this._addTriangle(m,c,y,-1,r[y],r[m]),this._legalize(v+2),r[m]=v,n[y]=y,E--,y=m;this._hullStart=t[c]=y,n[y]=t[g]=c,n[c]=g,i[this._hashKey(u,l)]=c,i[this._hashKey(e[2*y],e[2*y+1])]=y}this.hull=new Uint32Array(E);for(let e=0,t=this._hullStart;e0?3-n:1+n)/4}(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:t,_halfedges:n,coords:r}=this;let i=0,o=0;for(;;){const s=n[e],a=e-e%3;if(o=a+(e+2)%3,-1===s){if(0===i)break;e=yc[--i];continue}const c=s-s%3,u=a+(e+1)%3,l=c+(s+2)%3,h=t[o],f=t[e],p=t[u],d=t[l];if(_c(r[2*h],r[2*h+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*d],r[2*d+1])){t[e]=d,t[s]=h;const r=n[l];if(-1===r){let t=this._hullStart;do{if(this._hullTri[t]===l){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(s,n[o]),this._link(o,l);const a=c+(s+1)%3;i=n&&t[e[s]]>o;)e[s+1]=e[s--];e[s+1]=r}else{let i=n+1,o=r;xc(e,n+r>>1,i),t[e[n]]>t[e[r]]&&xc(e,n,r),t[e[i]]>t[e[r]]&&xc(e,i,r),t[e[n]]>t[e[i]]&&xc(e,n,i);const s=e[i],a=t[s];for(;;){do{i++}while(t[e[i]]a);if(o=o-n?(wc(e,t,i,r),wc(e,t,n,o-1)):(wc(e,t,n,o-1),wc(e,t,i,r))}}function xc(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function kc(e){return e[0]}function Ec(e){return e[1]}const Sc=1e-6;class Tc{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){const r=(e=+e)+(n=+n),i=t=+t;if(n<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>Sc||Math.abs(this._y1-i)>Sc)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class Ac{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}}class Oc{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t)&&(i=+i)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(2*e.points.length),this.vectors=new Float64Array(2*e.points.length),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this;let i,o;const s=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r,a,c=0,u=0,l=n.length;c1;)i-=2;for(let e=2;e0){if(t>=this.ymax)return null;(i=(this.ymax-t)/r)0){if(e>=this.xmax)return null;(i=(this.xmax-e)/n)this.xmax?2:0)|(tthis.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t2&&function(e){const{triangles:t,coords:n}=e;for(let e=0;e1e-10)return!1}return!0}(e)){this.collinear=Int32Array.from({length:t.length/2},((e,t)=>t)).sort(((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]));const e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],o[r[0]]=1,2===r.length&&(o[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new Oc(this,e)}*neighbors(e){const{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:o,collinear:s}=this;if(s){const t=s.indexOf(e);return t>0&&(yield s[t-1]),void(t=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){const{inedges:r,hull:i,_hullIndex:o,halfedges:s,triangles:a,points:c}=this;if(-1===r[e]||!c.length)return(e+1)%(c.length>>1);let u=e,l=Pc(t-c[2*e],2)+Pc(n-c[2*e+1],2);const h=r[e];let f=h;do{let r=a[f];const h=Pc(t-c[2*r],2)+Pc(n-c[2*r+1],2);if(h()=>e;function Mc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:c,dy:u,dispatch:l}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:l}})}function jc(e){return!e.ctrlKey&&!e.button}function Fc(){return this.parentNode}function Bc(e,t){return null==t?{x:e.x,y:e.y}:t}function zc(){return navigator.maxTouchPoints||"ontouchstart"in this}function Uc(){var e,t,n,r,i=jc,o=Fc,s=Bc,a=zc,c={},u=fn("start","drag","end"),l=0,h=0;function f(e){e.on("mousedown.drag",p).filter(a).on("touchstart.drag",y).on("touchmove.drag",v,Ar).on("touchend.drag touchcancel.drag",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(s,a){if(!r&&i.call(this,s,a)){var c=_(this,o.call(this,s,a),s,a,"mouse");c&&(Tr(s.view).on("mousemove.drag",d,Or).on("mouseup.drag",m,Or),Cr(s.view),Nr(s),n=!1,e=s.clientX,t=s.clientY,c("start",s))}}function d(r){if(Pr(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>h}c.mouse("drag",r)}function m(e){Tr(e.view).on("mousemove.drag mouseup.drag",null),Rr(e.view,n),Pr(e),c.mouse("end",e)}function y(e,t){if(i.call(this,e,t)){var n,r,s=e.changedTouches,a=o.call(this,e,t),c=s.length;for(n=0;n=o?c=!0:(r=e.charCodeAt(s++))===Kc?u=!0:r===Hc&&(u=!0,e.charCodeAt(s)===Kc&&++s),e.slice(i+1,t-1).replace(/""/g,'"')}for(;s9999?"+"+Yc(t,6):Yc(t,4))+"-"+Yc(e.getUTCMonth()+1,2)+"-"+Yc(e.getUTCDate(),2)+(o?"T"+Yc(n,2)+":"+Yc(r,2)+":"+Yc(i,2)+"."+Yc(o,3)+"Z":i?"T"+Yc(n,2)+":"+Yc(r,2)+":"+Yc(i,2)+"Z":r||n?"T"+Yc(n,2)+":"+Yc(r,2)+"Z":"")}(e):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,i,o=r(e,(function(e,r){if(n)return n(e,r-1);i=e,n=t?function(e,t){var n=Wc(e);return function(r,i){return t(n(r),i,e)}}(e,t):Wc(e)}));return o.columns=i||[],o},parseRows:r,format:function(t,n){return null==n&&(n=Gc(t)),[n.map(s).join(e)].concat(i(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=Gc(e)),i(e,t).join("\n")},formatRows:function(e){return e.map(o).join("\n")},formatRow:o,formatValue:s}}var Xc=Qc(","),Zc=Xc.parse,Jc=Xc.parseRows,eu=Xc.format,tu=Xc.formatBody,nu=Xc.formatRows,ru=Xc.formatRow,iu=Xc.formatValue,ou=Qc("\t"),su=ou.parse,au=ou.parseRows,cu=ou.format,uu=ou.formatBody,lu=ou.formatRows,hu=ou.formatRow,fu=ou.formatValue;function pu(e){for(var t in e){var n,r,i=e[t].trim();if(i)if("true"===i)i=!0;else if("false"===i)i=!1;else if("NaN"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)))continue;du&&r[4]&&!r[7]&&(i=i.replace(/-/g,"/").replace(/T/," ")),i=new Date(i)}else i=n;else i=null;e[t]=i}return e}const du=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours(),mu=e=>+e;function yu(e){return e*e}function vu(e){return e*(2-e)}function gu(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}var _u=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),bu=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),wu=function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(3),xu=Math.PI,ku=xu/2;function Eu(e){return 1==+e?1:1-Math.cos(e*ku)}function Su(e){return Math.sin(e*ku)}function Tu(e){return(1-Math.cos(xu*e))/2}function Au(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Ou(e){return Au(1-+e)}function Nu(e){return 1-Au(e)}function Pu(e){return((e*=2)<=1?Au(1-e):2-Au(e-1))/2}function Cu(e){return 1-Math.sqrt(1-e*e)}function Ru(e){return Math.sqrt(1- --e*e)}function Lu(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var Iu=4/11,Du=6/11,Mu=8/11,ju=3/4,Fu=9/11,Bu=10/11,zu=15/16,Uu=21/22,Vu=63/64,$u=1/Iu/Iu;function qu(e){return 1-Ku(1-e)}function Ku(e){return(e=+e)sl(t,n).then((t=>(new DOMParser).parseFromString(t,e)))}const ml=dl("application/xml");var yl=dl("text/html"),vl=dl("image/svg+xml");function gl(e,t){var n,r=1;function i(){var i,o,s=n.length,a=0,c=0;for(i=0;i=(o=(m+v)/2))?m=o:v=o,(l=n>=(s=(y+g)/2))?y=s:g=s,i=p,!(p=p[h=l<<1|u]))return i[h]=d,e;if(a=+e._x.call(null,p.data),c=+e._y.call(null,p.data),t===a&&n===c)return d.next=p,i?i[h]=d:e._root=d,e;do{i=i?i[h]=new Array(4):e._root=new Array(4),(u=t>=(o=(m+v)/2))?m=o:v=o,(l=n>=(s=(y+g)/2))?y=s:g=s}while((h=l<<1|u)==(f=(c>=s)<<1|a>=o));return i[f]=p,i[h]=d,e}function bl(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function wl(e){return e[0]}function xl(e){return e[1]}function kl(e,t,n){var r=new El(null==t?wl:t,null==n?xl:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function El(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Sl(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Tl=kl.prototype=El.prototype;function Al(e){return function(){return e}}function Ol(e){return 1e-6*(e()-.5)}function Nl(e){return e.x+e.vx}function Pl(e){return e.y+e.vy}function Cl(e){var t,n,r,i=1,o=1;function s(){for(var e,s,c,u,l,h,f,p=t.length,d=0;du+d||ol+d||sc.index){var m=u-a.x-a.vx,y=l-a.y-a.vy,v=m*m+y*y;ve.r&&(e.r=e[t].r)}function c(){if(t){var r,i,o=t.length;for(n=new Array(o),r=0;r[a(e,t,r),e])));for(s=0,i=new Array(u);sl&&(l=r),ih&&(h=i));if(c>l||u>h)return this;for(this.cover(c,u).cover(l,h),n=0;ne||e>=i||r>t||t>=o;)switch(a=(tf||(o=c.y0)>p||(s=c.x1)=v)<<1|e>=y)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-u],d[d.length-1-u]=c)}else{var g=e-+this._x.call(null,m.data),_=t-+this._y.call(null,m.data),b=g*g+_*_;if(b=(a=(d+y)/2))?d=a:y=a,(l=s>=(c=(m+v)/2))?m=c:v=c,t=p,!(p=p[h=l<<1|u]))return this;if(!p.length)break;(t[h+1&3]||t[h+2&3]||t[h+3&3])&&(n=t,f=h)}for(;p.data!==e;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):t?(i?t[h]=i:delete t[h],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(n?n[f]=p:this._root=p),this):(this._root=i,this)},Tl.removeAll=function(e){for(var t=0,n=e.length;t(e=(Dl*e+Ml)%jl)/jl}();function h(){f(),u.call("tick",t),n1?(null==n?a.delete(e):a.set(e,d(n)),t):a.get(e)},find:function(t,n,r){var i,o,s,a,c,u=0,l=e.length;for(null==r?r=1/0:r*=r,u=0;u1?(u.on(e,n),t):u.on(e)}}}function $l(){var e,t,n,r,i,o=Al(-30),s=1,a=1/0,c=.81;function u(n){var i,o=e.length,s=kl(e,Fl,Bl).visitAfter(h);for(r=n,i=0;i=a)){(e.data!==t||e.next)&&(0===h&&(d+=(h=Ol(n))*h),0===f&&(d+=(f=Ol(n))*f),d1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Gl(e){return(e=Wl(Math.abs(e)))?e[1]:NaN}var Yl,Ql=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xl(e){if(!(t=Ql.exec(e)))throw new Error("invalid format: "+e);var t;return new Zl({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Zl(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function Jl(e,t){var n=Wl(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Xl.prototype=Zl.prototype,Zl.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const eh={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Jl(100*e,t),r:Jl,s:function(e,t){var n=Wl(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(Yl=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Wl(e,Math.max(0,t+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function th(e){return e}var nh,rh,ih,oh=Array.prototype.map,sh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ah(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?th:(t=oh.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var i=e.length,o=[],s=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[s=(s+1)%t.length];return o.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",s=void 0===e.decimal?".":e.decimal+"",a=void 0===e.numerals?th:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(oh.call(e.numerals,String)),c=void 0===e.percent?"%":e.percent+"",u=void 0===e.minus?"−":e.minus+"",l=void 0===e.nan?"NaN":e.nan+"";function h(e){var t=(e=Xl(e)).fill,n=e.align,h=e.sign,f=e.symbol,p=e.zero,d=e.width,m=e.comma,y=e.precision,v=e.trim,g=e.type;"n"===g?(m=!0,g="g"):eh[g]||(void 0===y&&(y=12),v=!0,g="g"),(p||"0"===t&&"="===n)&&(p=!0,t="0",n="=");var _="$"===f?i:"#"===f&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",b="$"===f?o:/[%p]/.test(g)?c:"",w=eh[g],x=/[defgprs%]/.test(g);function k(e){var i,o,c,f=_,k=b;if("c"===g)k=w(e)+k,e="";else{var E=(e=+e)<0||1/e<0;if(e=isNaN(e)?l:w(Math.abs(e),y),v&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),E&&0==+e&&"+"!==h&&(E=!1),f=(E?"("===h?h:u:"-"===h||"("===h?"":h)+f,k=("s"===g?sh[8+Yl/3]:"")+k+(E&&"("===h?")":""),x)for(i=-1,o=e.length;++i(c=e.charCodeAt(i))||c>57){k=(46===c?s+e.slice(i+1):e.slice(i))+k,e=e.slice(0,i);break}}m&&!p&&(e=r(e,1/0));var S=f.length+e.length+k.length,T=S>1)+f+e+k+T.slice(S);break;default:e=T+f+e+k}return a(e)}return y=void 0===y?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return e+""},k}return{format:h,formatPrefix:function(e,t){var n=h(((e=Xl(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(Gl(t)/3))),i=Math.pow(10,-r),o=sh[8+r/3];return function(e){return n(i*e)+o}}}}function ch(e){return nh=ah(e),rh=nh.format,ih=nh.formatPrefix,nh}function uh(e){return Math.max(0,-Gl(Math.abs(e)))}function lh(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Gl(t)/3)))-Gl(Math.abs(e)))}function hh(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Gl(t)-Gl(e))+1}ch({thousands:",",grouping:[3],currency:["$",""]});var fh=1e-6,ph=1e-12,dh=Math.PI,mh=dh/2,yh=dh/4,vh=2*dh,gh=180/dh,_h=dh/180,bh=Math.abs,wh=Math.atan,xh=Math.atan2,kh=Math.cos,Eh=Math.ceil,Sh=Math.exp,Th=(Math.floor,Math.hypot),Ah=Math.log,Oh=Math.pow,Nh=Math.sin,Ph=Math.sign||function(e){return e>0?1:e<0?-1:0},Ch=Math.sqrt,Rh=Math.tan;function Lh(e){return e>1?0:e<-1?dh:Math.acos(e)}function Ih(e){return e>1?mh:e<-1?-mh:Math.asin(e)}function Dh(e){return(e=Nh(e/2))*e}function Mh(){}function jh(e,t){e&&Bh.hasOwnProperty(e.type)&&Bh[e.type](e,t)}var Fh={Feature:function(e,t){jh(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=kh(t=(t*=_h)/2+yh),s=Nh(t),a=Wh*s,c=Hh*o+a*kh(i),u=a*r*Nh(i);sf.add(xh(u,c)),Kh=e,Hh=o,Wh=s}function pf(e){return af=new de,Vh(e,cf),2*af}function df(e){return[xh(e[1],e[0]),Ih(e[2])]}function mf(e){var t=e[0],n=e[1],r=kh(n);return[r*kh(t),r*Nh(t),Nh(n)]}function yf(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function vf(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function gf(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function _f(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function bf(e){var t=Ch(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var wf,xf,kf,Ef,Sf,Tf,Af,Of,Nf,Pf,Cf,Rf,Lf,If,Df,Mf,jf={point:Ff,lineStart:zf,lineEnd:Uf,polygonStart:function(){jf.point=Vf,jf.lineStart=$f,jf.lineEnd=qf,nf=new de,cf.polygonStart()},polygonEnd:function(){cf.polygonEnd(),jf.point=Ff,jf.lineStart=zf,jf.lineEnd=Uf,sf<0?(Gh=-(Qh=180),Yh=-(Xh=90)):nf>fh?Xh=90:nf<-fh&&(Yh=-90),of[0]=Gh,of[1]=Qh},sphere:function(){Gh=-(Qh=180),Yh=-(Xh=90)}};function Ff(e,t){rf.push(of=[Gh=e,Qh=e]),tXh&&(Xh=t)}function Bf(e,t){var n=mf([e*_h,t*_h]);if(tf){var r=vf(tf,n),i=vf([r[1],-r[0],0],r);bf(i),i=df(i);var o,s=e-Zh,a=s>0?1:-1,c=i[0]*gh*a,u=bh(s)>180;u^(a*ZhXh&&(Xh=o):u^(a*Zh<(c=(c+360)%360-180)&&cXh&&(Xh=t)),u?eKf(Gh,Qh)&&(Qh=e):Kf(e,Qh)>Kf(Gh,Qh)&&(Gh=e):Qh>=Gh?(eQh&&(Qh=e)):e>Zh?Kf(Gh,e)>Kf(Gh,Qh)&&(Qh=e):Kf(e,Qh)>Kf(Gh,Qh)&&(Gh=e)}else rf.push(of=[Gh=e,Qh=e]);tXh&&(Xh=t),tf=n,Zh=e}function zf(){jf.point=Bf}function Uf(){of[0]=Gh,of[1]=Qh,jf.point=Ff,tf=null}function Vf(e,t){if(tf){var n=e-Zh;nf.add(bh(n)>180?n+(n>0?360:-360):n)}else Jh=e,ef=t;cf.point(e,t),Bf(e,t)}function $f(){cf.lineStart()}function qf(){Vf(Jh,ef),cf.lineEnd(),bh(nf)>fh&&(Gh=-(Qh=180)),of[0]=Gh,of[1]=Qh,tf=null}function Kf(e,t){return(t-=e)<0?t+360:t}function Hf(e,t){return e[0]-t[0]}function Wf(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tKf(r[0],r[1])&&(r[1]=i[1]),Kf(i[0],r[1])>Kf(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(s=-1/0,t=0,r=o[n=o.length-1];t<=n;r=i,++t)i=o[t],(a=Kf(r[1],i[0]))>s&&(s=a,Gh=i[0],Qh=r[1])}return rf=of=null,Gh===1/0||Yh===1/0?[[NaN,NaN],[NaN,NaN]]:[[Gh,Yh],[Qh,Xh]]}var Yf={sphere:Mh,point:Qf,lineStart:Zf,lineEnd:tp,polygonStart:function(){Yf.lineStart=np,Yf.lineEnd=rp},polygonEnd:function(){Yf.lineStart=Zf,Yf.lineEnd=tp}};function Qf(e,t){e*=_h;var n=kh(t*=_h);Xf(n*kh(e),n*Nh(e),Nh(t))}function Xf(e,t,n){++wf,kf+=(e-kf)/wf,Ef+=(t-Ef)/wf,Sf+=(n-Sf)/wf}function Zf(){Yf.point=Jf}function Jf(e,t){e*=_h;var n=kh(t*=_h);If=n*kh(e),Df=n*Nh(e),Mf=Nh(t),Yf.point=ep,Xf(If,Df,Mf)}function ep(e,t){e*=_h;var n=kh(t*=_h),r=n*kh(e),i=n*Nh(e),o=Nh(t),s=xh(Ch((s=Df*o-Mf*i)*s+(s=Mf*r-If*o)*s+(s=If*i-Df*r)*s),If*r+Df*i+Mf*o);xf+=s,Tf+=s*(If+(If=r)),Af+=s*(Df+(Df=i)),Of+=s*(Mf+(Mf=o)),Xf(If,Df,Mf)}function tp(){Yf.point=Qf}function np(){Yf.point=ip}function rp(){op(Rf,Lf),Yf.point=Qf}function ip(e,t){Rf=e,Lf=t,e*=_h,t*=_h,Yf.point=op;var n=kh(t);If=n*kh(e),Df=n*Nh(e),Mf=Nh(t),Xf(If,Df,Mf)}function op(e,t){e*=_h;var n=kh(t*=_h),r=n*kh(e),i=n*Nh(e),o=Nh(t),s=Df*o-Mf*i,a=Mf*r-If*o,c=If*i-Df*r,u=Th(s,a,c),l=Ih(u),h=u&&-l/u;Nf.add(h*s),Pf.add(h*a),Cf.add(h*c),xf+=l,Tf+=l*(If+(If=r)),Af+=l*(Df+(Df=i)),Of+=l*(Mf+(Mf=o)),Xf(If,Df,Mf)}function sp(e){wf=xf=kf=Ef=Sf=Tf=Af=Of=0,Nf=new de,Pf=new de,Cf=new de,Vh(e,Yf);var t=+Nf,n=+Pf,r=+Cf,i=Th(t,n,r);return idh&&(e-=Math.round(e/vh)*vh),[e,t]}function lp(e,t,n){return(e%=vh)?t||n?cp(fp(e),pp(t,n)):fp(e):t||n?pp(t,n):up}function hp(e){return function(t,n){return bh(t+=e)>dh&&(t-=Math.round(t/vh)*vh),[t,n]}}function fp(e){var t=hp(e);return t.invert=hp(-e),t}function pp(e,t){var n=kh(e),r=Nh(e),i=kh(t),o=Nh(t);function s(e,t){var s=kh(t),a=kh(e)*s,c=Nh(e)*s,u=Nh(t),l=u*n+a*r;return[xh(c*i-l*o,a*n-u*r),Ih(l*i+c*o)]}return s.invert=function(e,t){var s=kh(t),a=kh(e)*s,c=Nh(e)*s,u=Nh(t),l=u*i-c*o;return[xh(c*i+u*o,a*n+l*r),Ih(l*n-a*r)]},s}function dp(e){function t(t){return(t=e(t[0]*_h,t[1]*_h))[0]*=gh,t[1]*=gh,t}return e=lp(e[0]*_h,e[1]*_h,e.length>2?e[2]*_h:0),t.invert=function(t){return(t=e.invert(t[0]*_h,t[1]*_h))[0]*=gh,t[1]*=gh,t},t}function mp(e,t,n,r,i,o){if(n){var s=kh(t),a=Nh(t),c=r*n;null==i?(i=t+r*vh,o=t-c/2):(i=yp(s,i),o=yp(s,o),(r>0?io)&&(i+=r*vh));for(var u,l=i;r>0?l>o:l1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function _p(e,t){return bh(e[0]-t[0])=0;--o)i.point((l=u[o])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,p=!p}while(!f.v);i.lineEnd()}}}function xp(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r=0?1:-1,T=S*E,A=T>dh,O=y*x;if(c.add(xh(O*S*Nh(T),v*k+O*kh(T))),s+=A?E+S*vh:E,A^d>=n^b>=n){var N=vf(mf(p),mf(_));bf(N);var P=vf(o,N);bf(P);var C=(A^E>=0?-1:1)*Ih(P[2]);(r>C||r===C&&(N[0]||N[1]))&&(a+=A^E>=0?1:-1)}}return(s<-fh||s0){for(h||(i.polygonStart(),h=!0),i.lineStart(),e=0;e1&&2&c&&f.push(f.pop().concat(f.shift())),s.push(f.filter(Tp))}return f}}function Tp(e){return e.length>1}function Ap(e,t){return((e=e.x)[0]<0?e[1]-mh-fh:mh-e[1])-((t=t.x)[0]<0?t[1]-mh-fh:mh-t[1])}up.invert=up;const Op=Sp((function(){return!0}),(function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,s){var a=o>0?dh:-dh,c=bh(o-n);bh(c-dh)0?mh:-mh),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(a,r),e.point(o,r),t=0):i!==a&&c>=dh&&(bh(n-i)fh?wh((Nh(t)*(o=kh(r))*Nh(n)-Nh(r)*(i=kh(t))*Nh(e))/(i*o*s)):(t+r)/2}(n,r,o,s),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(a,r),t=0),e.point(n=o,r=s),i=a},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}}),(function(e,t,n,r){var i;if(null==e)i=n*mh,r.point(-dh,i),r.point(0,i),r.point(dh,i),r.point(dh,0),r.point(dh,-i),r.point(0,-i),r.point(-dh,-i),r.point(-dh,0),r.point(-dh,i);else if(bh(e[0]-t[0])>fh){var o=e[0]0,i=bh(t)>fh;function o(e,n){return kh(e)*kh(n)>t}function s(e,n,r){var i=[1,0,0],o=vf(mf(e),mf(n)),s=yf(o,o),a=o[0],c=s-a*a;if(!c)return!r&&e;var u=t*s/c,l=-t*a/c,h=vf(i,o),f=_f(i,u);gf(f,_f(o,l));var p=h,d=yf(f,p),m=yf(p,p),y=d*d-m*(yf(f,f)-1);if(!(y<0)){var v=Ch(y),g=_f(p,(-d-v)/m);if(gf(g,f),g=df(g),!r)return g;var _,b=e[0],w=n[0],x=e[1],k=n[1];w0^g[1]<(bh(g[0]-b)dh^(b<=g[0]&&g[0]<=w)){var T=_f(p,(-d+v)/m);return gf(T,f),[g,df(T)]}}}function a(t,n){var i=r?e:dh-e,o=0;return t<-i?o|=1:t>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return Sp(o,(function(e){var t,n,c,u,l;return{lineStart:function(){u=c=!1,l=1},point:function(h,f){var p,d=[h,f],m=o(h,f),y=r?m?0:a(h,f):m?a(h+(h<0?dh:-dh),f):0;if(!t&&(u=c=m)&&e.lineStart(),m!==c&&(!(p=s(t,d))||_p(t,p)||_p(d,p))&&(d[2]=1),m!==c)l=0,m?(e.lineStart(),p=s(d,t),e.point(p[0],p[1])):(p=s(t,d),e.point(p[0],p[1],2),e.lineEnd()),t=p;else if(i&&t&&r^m){var v;y&n||!(v=s(d,t,!0))||(l=0,r?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}!m||t&&_p(t,d)||e.point(d[0],d[1]),t=d,c=m,n=y},lineEnd:function(){c&&e.lineEnd(),t=null},clean:function(){return l|(u&&c)<<1}}}),(function(t,r,i,o){mp(o,e,n,i,t,r)}),r?[0,-e]:[-dh,e-dh])}var Pp,Cp,Rp,Lp,Ip=1e9,Dp=-Ip;function Mp(e,t,n,r){function i(i,o){return e<=i&&i<=n&&t<=o&&o<=r}function o(i,o,a,u){var l=0,h=0;if(null==i||(l=s(i,a))!==(h=s(o,a))||c(i,o)<0^a>0)do{u.point(0===l||3===l?e:n,l>1?r:t)}while((l=(l+a+4)%4)!==h);else u.point(o[0],o[1])}function s(r,i){return bh(r[0]-e)0?0:3:bh(r[0]-n)0?2:1:bh(r[1]-t)0?1:0:i>0?3:2}function a(e,t){return c(e.x,t.x)}function c(e,t){var n=s(e,1),r=s(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(s){var c,u,l,h,f,p,d,m,y,v,g,_=s,b=gp(),w={point:x,lineStart:function(){w.point=k,u&&u.push(l=[]),v=!0,y=!1,d=m=NaN},lineEnd:function(){c&&(k(h,f),p&&y&&b.rejoin(),c.push(b.result())),w.point=x,y&&_.lineEnd()},polygonStart:function(){_=b,c=[],u=[],g=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=u.length;nr&&(f-o)*(r-s)>(p-s)*(e-o)&&++t:p<=r&&(f-o)*(r-s)<(p-s)*(e-o)&&--t;return t}(),n=g&&t,i=(c=dt(c)).length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),i&&wp(c,a,t,o,s),s.polygonEnd()),_=s,c=u=l=null}};function x(e,t){i(e,t)&&_.point(e,t)}function k(o,s){var a=i(o,s);if(u&&l.push([o,s]),v)h=o,f=s,p=a,v=!1,a&&(_.lineStart(),_.point(o,s));else if(a&&y)_.point(o,s);else{var c=[d=Math.max(Dp,Math.min(Ip,d)),m=Math.max(Dp,Math.min(Ip,m))],b=[o=Math.max(Dp,Math.min(Ip,o)),s=Math.max(Dp,Math.min(Ip,s))];!function(e,t,n,r,i,o){var s,a=e[0],c=e[1],u=0,l=1,h=t[0]-a,f=t[1]-c;if(s=n-a,h||!(s>0)){if(s/=h,h<0){if(s0){if(s>l)return;s>u&&(u=s)}if(s=i-a,h||!(s<0)){if(s/=h,h<0){if(s>l)return;s>u&&(u=s)}else if(h>0){if(s0)){if(s/=f,f<0){if(s0){if(s>l)return;s>u&&(u=s)}if(s=o-c,f||!(s<0)){if(s/=f,f<0){if(s>l)return;s>u&&(u=s)}else if(f>0){if(s0&&(e[0]=a+u*h,e[1]=c+u*f),l<1&&(t[0]=a+l*h,t[1]=c+l*f),!0}}}}}(c,b,e,t,n,r)?a&&(_.lineStart(),_.point(o,s),g=!1):(y||(_.lineStart(),_.point(c[0],c[1])),_.point(b[0],b[1]),a||_.lineEnd(),g=!1)}d=o,m=s,y=a}return w}}function jp(){var e,t,n,r=0,i=0,o=960,s=500;return n={stream:function(n){return e&&t===n?e:e=Mp(r,i,o,s)(t=n)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],s=+a[1][1],e=t=null,n):[[r,i],[o,s]]}}}var Fp={sphere:Mh,point:Mh,lineStart:function(){Fp.point=zp,Fp.lineEnd=Bp},lineEnd:Mh,polygonStart:Mh,polygonEnd:Mh};function Bp(){Fp.point=Fp.lineEnd=Mh}function zp(e,t){Cp=e*=_h,Rp=Nh(t*=_h),Lp=kh(t),Fp.point=Up}function Up(e,t){e*=_h;var n=Nh(t*=_h),r=kh(t),i=bh(e-Cp),o=kh(i),s=r*Nh(i),a=Lp*n-Rp*r*o,c=Rp*n+Lp*r*o;Pp.add(xh(Ch(s*s+a*a),c)),Cp=e,Rp=n,Lp=r}function Vp(e){return Pp=new de,Vh(e,Fp),+Pp}var $p=[null,null],qp={type:"LineString",coordinates:$p};function Kp(e,t){return $p[0]=e,$p[1]=t,Vp(qp)}var Hp={Feature:function(e,t){return Gp(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r0&&(i=Kp(e[o],e[o-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))fh})).map(c)).concat(gt(Eh(o/p)*p,i,p).filter((function(e){return bh(e%m)>fh})).map(u))}return v.lines=function(){return g().map((function(e){return{type:"LineString",coordinates:e}}))},v.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(s).slice(1),l(n).reverse().slice(1),h(a).reverse().slice(1))]}},v.extent=function(e){return arguments.length?v.extentMajor(e).extentMinor(e):v.extentMinor()},v.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],a=+e[0][1],s=+e[1][1],r>n&&(e=r,r=n,n=e),a>s&&(e=a,a=s,s=e),v.precision(y)):[[r,a],[n,s]]},v.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],o=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),o>i&&(n=o,o=i,i=n),v.precision(y)):[[t,o],[e,i]]},v.step=function(e){return arguments.length?v.stepMajor(e).stepMinor(e):v.stepMinor()},v.stepMajor=function(e){return arguments.length?(d=+e[0],m=+e[1],v):[d,m]},v.stepMinor=function(e){return arguments.length?(f=+e[0],p=+e[1],v):[f,p]},v.precision=function(f){return arguments.length?(y=+f,c=td(o,i,90),u=nd(t,e,y),l=td(a,s,90),h=nd(r,n,y),v):y},v.extentMajor([[-180,-90+fh],[180,90-fh]]).extentMinor([[-180,-80-fh],[180,80+fh]])}function id(){return rd()()}function od(e,t){var n=e[0]*_h,r=e[1]*_h,i=t[0]*_h,o=t[1]*_h,s=kh(r),a=Nh(r),c=kh(o),u=Nh(o),l=s*kh(n),h=s*Nh(n),f=c*kh(i),p=c*Nh(i),d=2*Ih(Ch(Dh(o-r)+s*c*Dh(i-n))),m=Nh(d),y=d?function(e){var t=Nh(e*=d)/m,n=Nh(d-e)/m,r=n*l+t*f,i=n*h+t*p,o=n*a+t*u;return[xh(i,r)*gh,xh(o,Ch(r*r+i*i))*gh]}:function(){return[n*gh,r*gh]};return y.distance=d,y}const sd=e=>e;var ad,cd,ud,ld,hd=new de,fd=new de,pd={point:Mh,lineStart:Mh,lineEnd:Mh,polygonStart:function(){pd.lineStart=dd,pd.lineEnd=vd},polygonEnd:function(){pd.lineStart=pd.lineEnd=pd.point=Mh,hd.add(bh(fd)),fd=new de},result:function(){var e=hd/2;return hd=new de,e}};function dd(){pd.point=md}function md(e,t){pd.point=yd,ad=ud=e,cd=ld=t}function yd(e,t){fd.add(ld*e-ud*t),ud=e,ld=t}function vd(){yd(ad,cd)}const gd=pd;var _d=1/0,bd=_d,wd=-_d,xd=wd,kd={point:function(e,t){e<_d&&(_d=e),e>wd&&(wd=e),txd&&(xd=t)},lineStart:Mh,lineEnd:Mh,polygonStart:Mh,polygonEnd:Mh,result:function(){var e=[[_d,bd],[wd,xd]];return wd=xd=-(bd=_d=1/0),e}};const Ed=kd;var Sd,Td,Ad,Od,Nd=0,Pd=0,Cd=0,Rd=0,Ld=0,Id=0,Dd=0,Md=0,jd=0,Fd={point:Bd,lineStart:zd,lineEnd:$d,polygonStart:function(){Fd.lineStart=qd,Fd.lineEnd=Kd},polygonEnd:function(){Fd.point=Bd,Fd.lineStart=zd,Fd.lineEnd=$d},result:function(){var e=jd?[Dd/jd,Md/jd]:Id?[Rd/Id,Ld/Id]:Cd?[Nd/Cd,Pd/Cd]:[NaN,NaN];return Nd=Pd=Cd=Rd=Ld=Id=Dd=Md=jd=0,e}};function Bd(e,t){Nd+=e,Pd+=t,++Cd}function zd(){Fd.point=Ud}function Ud(e,t){Fd.point=Vd,Bd(Ad=e,Od=t)}function Vd(e,t){var n=e-Ad,r=t-Od,i=Ch(n*n+r*r);Rd+=i*(Ad+e)/2,Ld+=i*(Od+t)/2,Id+=i,Bd(Ad=e,Od=t)}function $d(){Fd.point=Bd}function qd(){Fd.point=Hd}function Kd(){Wd(Sd,Td)}function Hd(e,t){Fd.point=Wd,Bd(Sd=Ad=e,Td=Od=t)}function Wd(e,t){var n=e-Ad,r=t-Od,i=Ch(n*n+r*r);Rd+=i*(Ad+e)/2,Ld+=i*(Od+t)/2,Id+=i,Dd+=(i=Od*e-Ad*t)*(Ad+e),Md+=i*(Od+t),jd+=3*i,Bd(Ad=e,Od=t)}const Gd=Fd;function Yd(e){this._context=e}Yd.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,vh)}},result:Mh};var Qd,Xd,Zd,Jd,em,tm=new de,nm={point:Mh,lineStart:function(){nm.point=rm},lineEnd:function(){Qd&&im(Xd,Zd),nm.point=Mh},polygonStart:function(){Qd=!0},polygonEnd:function(){Qd=null},result:function(){var e=+tm;return tm=new de,e}};function rm(e,t){nm.point=im,Xd=Jd=e,Zd=em=t}function im(e,t){Jd-=e,em-=t,tm.add(Ch(Jd*Jd+em*em)),Jd=e,em=t}const om=nm;let sm,am,cm,um;class lm{constructor(e){this._append=null==e?hm:function(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return hm;if(t!==sm){const e=10**t;sm=t,am=function(t){let n=1;this._+=t[0];for(const r=t.length;n=0))throw new RangeError(`invalid digits: ${e}`);i=t}return null===t&&(r=new lm(i)),s},s.projection(e).digits(i).context(t)}function pm(e){return{stream:dm(e)}}function dm(e){return function(t){var n=new mm;for(var r in e)n[r]=e[r];return n.stream=t,n}}function mm(){}function ym(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),Vh(n,e.stream(Ed)),t(Ed.result()),null!=r&&e.clipExtent(r),e}function vm(e,t,n){return ym(e,(function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),s=+t[0][0]+(r-o*(n[1][0]+n[0][0]))/2,a=+t[0][1]+(i-o*(n[1][1]+n[0][1]))/2;e.scale(150*o).translate([s,a])}),n)}function gm(e,t,n){return vm(e,[[0,0],t],n)}function _m(e,t,n){return ym(e,(function(n){var r=+t,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,s=-i*n[0][1];e.scale(150*i).translate([o,s])}),n)}function bm(e,t,n){return ym(e,(function(n){var r=+t,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],s=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([o,s])}),n)}mm.prototype={constructor:mm,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var wm=16,xm=kh(30*_h);function km(e,t){return+t?function(e,t){function n(r,i,o,s,a,c,u,l,h,f,p,d,m,y){var v=u-r,g=l-i,_=v*v+g*g;if(_>4*t&&m--){var b=s+f,w=a+p,x=c+d,k=Ch(b*b+w*w+x*x),E=Ih(x/=k),S=bh(bh(x)-1)t||bh((v*N+g*P)/_-.5)>.3||s*f+a*p+c*d2?e[2]%360*_h:0,N()):[y*gh,v*gh,g*gh]},A.angle=function(e){return arguments.length?(_=e%360*_h,N()):_*gh},A.reflectX=function(e){return arguments.length?(b=e?-1:1,N()):b<0},A.reflectY=function(e){return arguments.length?(w=e?-1:1,N()):w<0},A.precision=function(e){return arguments.length?(s=km(a,T=e*e),P()):Ch(T)},A.fitExtent=function(e,t){return vm(A,e,t)},A.fitSize=function(e,t){return gm(A,e,t)},A.fitWidth=function(e,t){return _m(A,e,t)},A.fitHeight=function(e,t){return bm(A,e,t)},function(){return t=e.apply(this,arguments),A.invert=t.invert&&O,N()}}function Om(e){var t=0,n=dh/3,r=Am(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*_h,n=e[1]*_h):[t*gh,n*gh]},i}function Nm(e,t){var n=Nh(e),r=(n+Nh(t))/2;if(bh(r)=.12&&i<.234&&r>=-.425&&r<-.214?a:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:s).invert(e)},l.stream=function(n){return e&&t===n?e:(r=[s.stream(t=n),a.stream(n),c.stream(n)],i=r.length,e={point:function(e,t){for(var n=-1;++n0?t<-mh+fh&&(t=-mh+fh):t>mh-fh&&(t=mh-fh);var n=i/Oh(Vm(t),r);return[n*Nh(r*e),i-n*kh(r*e)]}return o.invert=function(e,t){var n=i-t,o=Ph(r)*Ch(e*e+n*n),s=xh(e,bh(n))*Ph(n);return n*r<0&&(s-=dh*Ph(e)*Ph(n)),[s/r,2*wh(Oh(i/o,1/r))-mh]},o}function qm(){return Om($m).scale(109.5).parallels([30,30])}function Km(e,t){return[e,t]}function Hm(){return Tm(Km).scale(152.63)}function Wm(e,t){var n=kh(e),r=e===t?Nh(e):(n-kh(t))/(t-e),i=n/r+e;if(bh(r)2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}function py(e,t){return e.parent===t.parent?1:2}function dy(e,t){return e+t.x}function my(e,t){return Math.max(e,t.y)}function yy(){var e=py,t=1,n=1,r=!1;function i(i){var o,s=0;i.eachAfter((function(t){var n=t.children;n?(t.x=function(e){return e.reduce(dy,0)/e.length}(n),t.y=function(e){return 1+e.reduce(my,0)}(n)):(t.x=o?s+=e(t,o):0,t.y=0,o=t)}));var a=function(e){for(var t;t=e.children;)e=t[0];return e}(i),c=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(i),u=a.x-e(a,c)/2,l=c.x+e(c,a)/2;return i.eachAfter(r?function(e){e.x=(e.x-i.x)*t,e.y=(i.y-e.y)*n}:function(e){e.x=(e.x-u)/(l-u)*t,e.y=(1-(i.y?e.y/i.y:1))*n})}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function vy(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function gy(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=by)):void 0===t&&(t=_y);for(var n,r,i,o,s,a=new ky(e),c=[a];n=c.pop();)if((i=t(n.data))&&(s=(i=Array.from(i)).length))for(n.children=i,o=s-1;o>=0;--o)c.push(r=i[o]=new ky(i[o])),r.parent=n,r.depth=n.depth+1;return a.eachBefore(xy)}function _y(e){return e.children}function by(e){return Array.isArray(e)?e[1]:null}function wy(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function xy(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function ky(e){this.data=e,this.depth=this.height=0,this.parent=null}function Ey(e){return null==e?null:Sy(e)}function Sy(e){if("function"!=typeof e)throw new Error;return e}function Ty(){return 0}function Ay(e){return function(){return e}}ey.invert=function(e,t){for(var n,r=t,i=r*r,o=i*i*i,s=0;s<12&&(o=(i=(r-=n=(r*(Ym+Qm*i+o*(Xm+Zm*i))-t)/(Ym+3*Qm*i+o*(7*Xm+9*Zm*i)))*r)*i*i,!(bh(n)fh&&--i>0);return[e/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},ay.invert=Im(Ih),uy.invert=Im((function(e){return 2*wh(e)})),hy.invert=function(e,t){return[-t,2*wh(Sh(e))-mh]},ky.prototype=gy.prototype={constructor:ky,count:function(){return this.eachAfter(vy)},each:function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,i,o=this,s=[o],a=[],c=-1;o=s.pop();)if(a.push(o),n=o.children)for(r=0,i=n.length;r=0;--r)o.push(n[r]);return this},find:function(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return gy(this).eachBefore(wy)},[Symbol.iterator]:function*(){var e,t,n,r,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(yield i,t=i.children)for(n=0,r=t.length;n(e=(Oy*e+Ny)%Py)/Py}function Ry(e){return Ly(e,Cy())}function Ly(e,t){for(var n,r,i=0,o=(e=function(e,t){let n,r,i=e.length;for(;i;)r=t()*i--|0,n=e[i],e[i]=e[r],e[r]=n;return e}(Array.from(e),t)).length,s=[];i0&&n*n>r*r+i*i}function jy(e,t){for(var n=0;n1e-6?(A+Math.sqrt(A*A-4*T*O))/(2*T):O/A);return{x:r+x+k*N,y:i+E+S*N,r:N}}function Uy(e,t,n){var r,i,o,s,a=e.x-t.x,c=e.y-t.y,u=a*a+c*c;u?(i=t.r+n.r,i*=i,s=e.r+n.r,i>(s*=s)?(r=(u+s-i)/(2*u),o=Math.sqrt(Math.max(0,s/u-r*r)),n.x=e.x-r*a-o*c,n.y=e.y-r*c+o*a):(r=(u+i-s)/(2*u),o=Math.sqrt(Math.max(0,i/u-r*r)),n.x=t.x+r*a-o*c,n.y=t.y+r*c+o*a)):(n.x=t.x+n.r,n.y=t.y)}function Vy(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function $y(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function qy(e){this._=e,this.next=null,this.previous=null}function Ky(e,t){if(!(s=(n=e,e="object"==typeof n&&"length"in n?n:Array.from(n)).length))return 0;var n,r,i,o,s,a,c,u,l,h,f,p;if((r=e[0]).x=0,r.y=0,!(s>1))return r.r;if(i=e[1],r.x=-i.r,i.x=r.r,i.y=0,!(s>2))return r.r+i.r;Uy(i,r,o=e[2]),r=new qy(r),i=new qy(i),o=new qy(o),r.next=o.previous=i,i.next=r.previous=o,o.next=i.previous=r;e:for(u=3;ufunction(e){let t=(e=`${e}`).length;return cv(e,t-1)&&!cv(e,t-2)&&(e=e.slice(0,-1)),"/"===e[0]?e:`/${e}`}(e(t,n,r)))),n=t.map(av),i=new Set(t).add("");for(const e of n)i.has(e)||(i.add(e),t.push(e),n.push(av(e)),f.push(rv));p=(e,n)=>t[n],d=(e,t)=>n[t]}for(s=0,i=f.length;s=0&&(u=f[e]).data===rv;--e)u.data=null}if(a.parent=tv,a.eachBefore((function(e){e.depth=e.parent.depth+1,--i})).eachBefore(xy),a.parent=null,i>0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=Ey(e),r):t},r.parentId=function(e){return arguments.length?(n=Ey(e),r):n},r.path=function(t){return arguments.length?(e=Ey(t),r):e},r}function av(e){let t=e.length;if(t<2)return"";for(;--t>1&&!cv(e,t););return e.slice(0,t)}function cv(e,t){if("/"===e[t]){let n=0;for(;t>0&&"\\"===e[--t];)++n;if(!(1&n))return!0}return!1}function uv(e,t){return e.parent===t.parent?1:2}function lv(e){var t=e.children;return t?t[0]:e.t}function hv(e){var t=e.children;return t?t[t.length-1]:e.t}function fv(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function pv(e,t,n){return e.a.parent===t.parent?e.a:n}function dv(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function mv(){var e=uv,t=1,n=1,r=null;function i(i){var c=function(e){for(var t,n,r,i,o,s=new dv(e,0),a=[s];t=a.pop();)if(r=t._.children)for(t.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(n=t.children[i]=new dv(r[i],i)),n.parent=t;return(s.parent=new dv(null,0)).children=[s],s}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)i.eachBefore(a);else{var u=i,l=i,h=i;i.eachBefore((function(e){e.xl.x&&(l=e),e.depth>h.depth&&(h=e)}));var f=u===l?1:e(u,l)/2,p=f-u.x,d=t/(l.x+f+p),m=n/(h.depth||1);i.eachBefore((function(e){e.x=(e.x+p)*d,e.y=e.depth*m}))}return i}function o(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){!function(e){for(var t,n=0,r=0,i=e.children,o=i.length;--o>=0;)(t=i[o]).z+=n,t.m+=n,n+=t.s+(r+=t.c)}(t);var o=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-o):t.z=o}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,n,r){if(n){for(var i,o=t,s=t,a=n,c=o.parent.children[0],u=o.m,l=s.m,h=a.m,f=c.m;a=hv(a),o=lv(o),a&&o;)c=lv(c),(s=hv(s)).a=t,(i=a.z+h-o.z-u+e(a._,o._))>0&&(fv(pv(a,t,r),t,i),u+=i,l+=i),h+=a.m,u+=o.m,f+=c.m,l+=s.m;a&&!hv(s)&&(s.t=a,s.m+=h-l),o&&!lv(c)&&(c.t=o,c.m+=u-f,r=t)}return r}(t,i,t.parent.A||r[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function a(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function yv(e,t,n,r,i){for(var o,s=e.children,a=-1,c=s.length,u=e.value&&(i-n)/e.value;++af&&(f=a),y=l*l*m,(p=Math.max(f/y,y/h))>d){l-=a;break}d=p}v.push(s={value:l,dice:c1?t:1)},n}(vv);function bv(){var e=_v,t=!1,n=1,r=1,i=[0],o=Ty,s=Ty,a=Ty,c=Ty,u=Ty;function l(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(h),i=[0],t&&e.eachBefore(Zy),e}function h(t){var n=i[t.depth],r=t.x0+n,l=t.y0+n,h=t.x1-n,f=t.y1-n;h=n-1){var l=a[t];return l.x0=i,l.y0=o,l.x1=s,void(l.y1=c)}for(var h=u[t],f=r/2+h,p=t+1,d=n-1;p>>1;u[m]c-o){var g=r?(i*v+s*y)/r:s;e(t,p,y,i,o,g,c),e(p,n,v,g,o,s,c)}else{var _=r?(o*v+c*y)/r:c;e(t,p,y,i,o,s,_),e(p,n,v,i,_,s,c)}}(0,c,e.value,t,n,r,i)}function xv(e,t,n,r,i){(1&e.depth?yv:Jy)(e,t,n,r,i)}const kv=function e(t){function n(e,n,r,i,o){if((s=e._squarify)&&s.ratio===t)for(var s,a,c,u,l,h=-1,f=s.length,p=e.value;++h1?t:1)},n}(vv);function Ev(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function Sv(e,t){var n=bi(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}function Tv(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function Av(e){return((e=Math.exp(e))+1/e)/2}const Ov=function e(t,n,r){function i(e,i){var o,s,a=e[0],c=e[1],u=e[2],l=i[0],h=i[1],f=i[2],p=l-a,d=h-c,m=p*p+d*d;if(m<1e-12)s=Math.log(f/u)/t,o=function(e){return[a+e*p,c+e*d,u*Math.exp(t*e*s)]};else{var y=Math.sqrt(m),v=(f*f-u*u+r*m)/(2*u*n*y),g=(f*f-u*u-r*m)/(2*f*n*y),_=Math.log(Math.sqrt(v*v+1)-v),b=Math.log(Math.sqrt(g*g+1)-g);s=(b-_)/t,o=function(e){var r,i=e*s,o=Av(_),l=u/(n*y)*(o*(r=t*i+_,((r=Math.exp(2*r))-1)/(r+1))-function(e){return((e=Math.exp(e))-1/e)/2}(_));return[a+l*p,c+l*d,u*o/Av(t*i+_)]}}return o.duration=1e3*s*t/Math.SQRT2,o}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4);function Nv(e){return function(t,n){var r=e((t=li(t)).h,(n=li(n)).h),i=wi(t.s,n.s),o=wi(t.l,n.l),s=wi(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=o(e),t.opacity=s(e),t+""}}}const Pv=Nv(bi);var Cv=Nv(wi);function Rv(e,t){var n=wi((e=xa(e)).l,(t=xa(t)).l),r=wi(e.a,t.a),i=wi(e.b,t.b),o=wi(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=o(t),e+""}}function Lv(e){return function(t,n){var r=e((t=Pa(t)).h,(n=Pa(n)).h),i=wi(t.c,n.c),o=wi(t.l,n.l),s=wi(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=o(e),t.opacity=s(e),t+""}}}const Iv=Lv(bi);var Dv=Lv(wi);function Mv(e){return function t(n){function r(t,r){var i=e((t=Ua(t)).h,(r=Ua(r)).h),o=wi(t.s,r.s),s=wi(t.l,r.l),a=wi(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=o(e),t.l=s(Math.pow(e,n)),t.opacity=a(e),t+""}}return n=+n,r.gamma=t,r}(1)}const jv=Mv(bi);var Fv=Mv(wi);function Bv(e,t){void 0===t&&(t=e,e=Mi);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n1&&$v(e[n[i-2]],e[n[i-1]],e[r])<=0;)--i;n[i++]=r}return n.slice(0,i)}function Hv(e){if((n=e.length)<3)return null;var t,n,r=new Array(n),i=new Array(n);for(t=0;t=0;--t)u.push(e[r[o[t]][2]]);for(t=+a;ta!=u>a&&s<(c-n)*(a-r)/(u-r)+n&&(l=!l),c=n,u=r;return l}function Gv(e){for(var t,n,r=-1,i=e.length,o=e[i-1],s=o[0],a=o[1],c=0;++r1);return e+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=e,n}(Yv),Jv=function e(t){var n=Zv.source(t);function r(){var e=n.apply(this,arguments);return function(){return Math.exp(e())}}return r.source=e,r}(Yv),eg=function e(t){function n(e){return(e=+e)<=0?()=>0:function(){for(var n=0,r=e;r>1;--r)n+=t();return n+r*t()}}return n.source=e,n}(Yv),tg=function e(t){var n=eg.source(t);function r(e){if(0==(e=+e))return t;var r=n(e);return function(){return r()/e}}return r.source=e,r}(Yv),ng=function e(t){function n(e){return function(){return-Math.log1p(-t())/e}}return n.source=e,n}(Yv),rg=function e(t){function n(e){if((e=+e)<0)throw new RangeError("invalid alpha");return e=1/-e,function(){return Math.pow(1-t(),e)}}return n.source=e,n}(Yv),ig=function e(t){function n(e){if((e=+e)<0||e>1)throw new RangeError("invalid p");return function(){return Math.floor(t()+e)}}return n.source=e,n}(Yv),og=function e(t){function n(e){if((e=+e)<0||e>1)throw new RangeError("invalid p");return 0===e?()=>1/0:1===e?()=>1:(e=Math.log1p(-e),function(){return 1+Math.floor(Math.log1p(-t())/e)})}return n.source=e,n}(Yv),sg=function e(t){var n=Zv.source(t)();function r(e,r){if((e=+e)<0)throw new RangeError("invalid k");if(0===e)return()=>0;if(r=null==r?1:+r,1===e)return()=>-Math.log1p(-t())*r;var i=(e<1?e+1:e)-1/3,o=1/(3*Math.sqrt(i)),s=e<1?()=>Math.pow(t(),1/e):()=>1;return function(){do{do{var e=n(),a=1+o*e}while(a<=0);a*=a*a;var c=1-t()}while(c>=1-.0331*e*e*e*e&&Math.log(c)>=.5*e*e+i*(1-a+Math.log(a)));return i*a*s()*r}}return r.source=e,r}(Yv),ag=function e(t){var n=sg.source(t);function r(e,t){var r=n(e),i=n(t);return function(){var e=r();return 0===e?0:e/(e+i())}}return r.source=e,r}(Yv),cg=function e(t){var n=og.source(t),r=ag.source(t);function i(e,t){return e=+e,(t=+t)>=1?()=>e:t<=0?()=>0:function(){for(var i=0,o=e,s=t;o*s>16&&o*(1-s)>16;){var a=Math.floor((o+1)*s),c=r(a,o-a+1)();c<=s?(i+=a,o-=a,s=(s-c)/(1-c)):(o=a-1,s/=c)}for(var u=s<.5,l=n(u?s:1-s),h=l(),f=0;h<=o;++f)h+=l();return i+(u?f:o-f)}}return i.source=e,i}(Yv),ug=function e(t){function n(e,n,r){var i;return 0==(e=+e)?i=e=>-Math.log(e):(e=1/e,i=t=>Math.pow(t,e)),n=null==n?0:+n,r=null==r?1:+r,function(){return n+r*i(-Math.log1p(-t()))}}return n.source=e,n}(Yv),lg=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,function(){return e+n*Math.tan(Math.PI*t())}}return n.source=e,n}(Yv),hg=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,function(){var r=t();return e+n*Math.log(r/(1-r))}}return n.source=e,n}(Yv),fg=function e(t){var n=sg.source(t),r=cg.source(t);function i(e){return function(){for(var i=0,o=e;o>16;){var s=Math.floor(.875*o),a=n(s)();if(a>o)return i+r(s-1,o/a)();i+=s,o-=a}for(var c=-Math.log1p(-t()),u=0;c<=o;++u)c-=Math.log1p(-t());return i+u}}return i.source=e,i}(Yv),pg=1664525,dg=1013904223,mg=1/4294967296;function yg(e=Math.random()){let t=0|(0<=e&&e<1?e/mg:Math.abs(e));return()=>(t=pg*t+dg|0,mg*(t>>>0))}function vg(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function gg(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}const _g=Symbol("implicit");function bg(){var e=new ve,t=[],n=[],r=_g;function i(i){let o=e.get(i);if(void 0===o){if(r!==_g)return r;e.set(i,o=t.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new ve;for(const r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return bg(t,n).unknown(r)},vg.apply(i,arguments),i}function wg(){var e,t,n=bg().unknown(void 0),r=n.domain,i=n.range,o=0,s=1,a=!1,c=0,u=0,l=.5;function h(){var n=r().length,h=st&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}(s[0],s[e-1])),r=e>2?Ng:Og,i=o=null,h}function h(t){return null==t||isNaN(t=+t)?n:(i||(i=r(s.map(e),a,c)))(e(u(t)))}return h.invert=function(n){return u(t((o||(o=r(a,s.map(e),Ci)))(n)))},h.domain=function(e){return arguments.length?(s=Array.from(e,Eg),l()):s.slice()},h.range=function(e){return arguments.length?(a=Array.from(e),l()):a.slice()},h.rangeRound=function(e){return a=Array.from(e),c=Tv,l()},h.clamp=function(e){return arguments.length?(u=!!e||Tg,l()):u!==Tg},h.interpolate=function(e){return arguments.length?(c=e,l()):c},h.unknown=function(e){return arguments.length?(n=e,h):n},function(n,r){return e=n,t=r,l()}}function Rg(){return Cg()(Tg,Tg)}function Lg(e,t,n,r){var i,o=Ye(e,t,n);switch((r=Xl(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=lh(o,s))||(r.precision=i),ih(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=hh(o,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=uh(o))||(r.precision=i-2*("%"===r.type))}return rh(r)}function Ig(e){var t=e.domain;return e.ticks=function(e){var n=t();return We(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return Lg(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,i,o=t(),s=0,a=o.length-1,c=o[s],u=o[a],l=10;for(u0;){if((i=Ge(c,u,n))===r)return o[s]=c,o[a]=u,t(o);if(i>0)c=Math.floor(c/i)*i,u=Math.ceil(u/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,u=Math.floor(u*i)/i}r=i}return e},e}function Dg(){var e=Rg();return e.copy=function(){return Pg(e,Dg())},vg.apply(e,arguments),Ig(e)}function Mg(e){var t;function n(e){return null==e||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Eg),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Mg(e).unknown(t)},e=arguments.length?Array.from(e,Eg):[0,1],Ig(n)}function jg(e,t){var n,r=0,i=(e=e.slice()).length-1,o=e[r],s=e[i];return s-e(-t,n)}function qg(e){const t=e(Fg,Bg),n=t.domain;let r,i,o=10;function s(){return r=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}(o),i=function(e){return 10===e?Vg:e===Math.E?Math.exp:t=>Math.pow(e,t)}(o),n()[0]<0?(r=$g(r),i=$g(i),e(zg,Ug)):e(Fg,Bg),t}return t.base=function(e){return arguments.length?(o=+e,s()):o},t.domain=function(e){return arguments.length?(n(e),s()):n()},t.ticks=e=>{const t=n();let s=t[0],a=t[t.length-1];const c=a0){for(;h<=f;++h)for(u=1;ua)break;d.push(l)}}else for(;h<=f;++h)for(u=o-1;u>=1;--u)if(l=h>0?u/i(-h):u*i(h),!(la)break;d.push(l)}2*d.length{if(null==e&&(e=10),null==n&&(n=10===o?"s":","),"function"!=typeof n&&(o%1||null!=(n=Xl(n)).precision||(n.trim=!0),n=rh(n)),e===1/0)return n;const s=Math.max(1,o*e/t.ticks().length);return e=>{let t=e/i(Math.round(r(e)));return t*on(jg(n(),{floor:e=>i(Math.floor(r(e))),ceil:e=>i(Math.ceil(r(e)))})),t}function Kg(){const e=qg(Cg()).domain([1,10]);return e.copy=()=>Pg(e,Kg()).base(e.base()),vg.apply(e,arguments),e}function Hg(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Wg(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Gg(e){var t=1,n=e(Hg(t),Wg(t));return n.constant=function(n){return arguments.length?e(Hg(t=+n),Wg(t)):t},Ig(n)}function Yg(){var e=Gg(Cg());return e.copy=function(){return Pg(e,Yg()).constant(e.constant())},vg.apply(e,arguments)}function Qg(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Xg(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Zg(e){return e<0?-e*e:e*e}function Jg(e){var t=e(Tg,Tg),n=1;return t.exponent=function(t){return arguments.length?1==(n=+t)?e(Tg,Tg):.5===n?e(Xg,Zg):e(Qg(n),Qg(1/n)):n},Ig(t)}function e_(){var e=Jg(Cg());return e.copy=function(){return Pg(e,e_()).exponent(e.exponent())},vg.apply(e,arguments),e}function t_(){return e_.apply(null,arguments).exponent(.5)}function n_(e){return Math.sign(e)*e*e}function r_(){var e,t=Rg(),n=[0,1],r=!1;function i(n){var i=function(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}(t(n));return isNaN(i)?e:r?Math.round(i):i}return i.invert=function(e){return t.invert(n_(e))},i.domain=function(e){return arguments.length?(t.domain(e),i):t.domain()},i.range=function(e){return arguments.length?(t.range((n=Array.from(e,Eg)).map(n_)),i):n.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(r=!!e,i):r},i.clamp=function(e){return arguments.length?(t.clamp(e),i):t.clamp()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return r_(t.domain(),n).round(r).clamp(t.clamp()).unknown(e)},vg.apply(i,arguments),Ig(i)}function i_(){var e,t=[],n=[],r=[];function i(){var e=0,i=Math.max(1,n.length);for(r=new Array(i-1);++e0?r[i-1]:t[0],i=r?[i[r-1],n]:[i[s-1],i[s]]},s.unknown=function(t){return arguments.length?(e=t,s):s},s.thresholds=function(){return i.slice()},s.copy=function(){return o_().domain([t,n]).range(o).unknown(e)},vg.apply(Ig(s),arguments)}function s_(){var e,t=[.5],n=[0,1],r=1;function i(i){return null!=i&&i<=i?n[X(t,i,0,r)]:e}return i.domain=function(e){return arguments.length?(t=Array.from(e),r=Math.min(t.length,n.length-1),i):t.slice()},i.range=function(e){return arguments.length?(n=Array.from(e),r=Math.min(t.length,n.length-1),i):n.slice()},i.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return s_().domain(t).range(n).unknown(e)},vg.apply(i,arguments)}const a_=1e3,c_=6e4,u_=36e5,l_=864e5,h_=6048e5,f_=31536e6,p_=new Date,d_=new Date;function m_(e,t,n,r){function i(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{const t=i(e),n=i.ceil(e);return e-t(t(e=new Date(+e),null==n?1:Math.floor(n)),e),i.range=(n,r,o)=>{const s=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n0))return s;let a;do{s.push(a=new Date(+n)),t(n,o),e(n)}while(am_((t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),((e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););})),n&&(i.count=(t,r)=>(p_.setTime(+t),d_.setTime(+r),e(p_),e(d_),Math.floor(n(p_,d_))),i.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?i.filter(r?t=>r(t)%e==0:t=>i.count(0,t)%e==0):i:null)),i}const y_=m_((()=>{}),((e,t)=>{e.setTime(+e+t)}),((e,t)=>t-e));y_.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?m_((t=>{t.setTime(Math.floor(t/e)*e)}),((t,n)=>{t.setTime(+t+n*e)}),((t,n)=>(n-t)/e)):y_:null);const v_=y_.range,g_=m_((e=>{e.setTime(e-e.getMilliseconds())}),((e,t)=>{e.setTime(+e+t*a_)}),((e,t)=>(t-e)/a_),(e=>e.getUTCSeconds())),__=g_.range,b_=m_((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*a_)}),((e,t)=>{e.setTime(+e+t*c_)}),((e,t)=>(t-e)/c_),(e=>e.getMinutes())),w_=b_.range,x_=m_((e=>{e.setUTCSeconds(0,0)}),((e,t)=>{e.setTime(+e+t*c_)}),((e,t)=>(t-e)/c_),(e=>e.getUTCMinutes())),k_=x_.range,E_=m_((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*a_-e.getMinutes()*c_)}),((e,t)=>{e.setTime(+e+t*u_)}),((e,t)=>(t-e)/u_),(e=>e.getHours())),S_=E_.range,T_=m_((e=>{e.setUTCMinutes(0,0,0)}),((e,t)=>{e.setTime(+e+t*u_)}),((e,t)=>(t-e)/u_),(e=>e.getUTCHours())),A_=T_.range,O_=m_((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*c_)/l_),(e=>e.getDate()-1)),N_=O_.range,P_=m_((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/l_),(e=>e.getUTCDate()-1)),C_=P_.range,R_=m_((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/l_),(e=>Math.floor(e/l_))),L_=R_.range;function I_(e){return m_((t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),((e,t)=>{e.setDate(e.getDate()+7*t)}),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*c_)/h_))}const D_=I_(0),M_=I_(1),j_=I_(2),F_=I_(3),B_=I_(4),z_=I_(5),U_=I_(6),V_=D_.range,$_=M_.range,q_=j_.range,K_=F_.range,H_=B_.range,W_=z_.range,G_=U_.range;function Y_(e){return m_((t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)}),((e,t)=>(t-e)/h_))}const Q_=Y_(0),X_=Y_(1),Z_=Y_(2),J_=Y_(3),eb=Y_(4),tb=Y_(5),nb=Y_(6),rb=Q_.range,ib=X_.range,ob=Z_.range,sb=J_.range,ab=eb.range,cb=tb.range,ub=nb.range,lb=m_((e=>{e.setDate(1),e.setHours(0,0,0,0)}),((e,t)=>{e.setMonth(e.getMonth()+t)}),((e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())),(e=>e.getMonth())),hb=lb.range,fb=m_((e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)}),((e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())),(e=>e.getUTCMonth())),pb=fb.range,db=m_((e=>{e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,t)=>{e.setFullYear(e.getFullYear()+t)}),((e,t)=>t.getFullYear()-e.getFullYear()),(e=>e.getFullYear()));db.every=e=>isFinite(e=Math.floor(e))&&e>0?m_((t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n*e)})):null;const mb=db.range,yb=m_((e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)}),((e,t)=>t.getUTCFullYear()-e.getUTCFullYear()),(e=>e.getUTCFullYear()));yb.every=e=>isFinite(e=Math.floor(e))&&e>0?m_((t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null;const vb=yb.range;function gb(e,t,n,r,i,o){const s=[[g_,1,a_],[g_,5,5e3],[g_,15,15e3],[g_,30,3e4],[o,1,c_],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,u_],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,l_],[r,2,1728e5],[n,1,h_],[t,1,2592e6],[t,3,7776e6],[e,1,f_]];function a(t,n,r){const i=Math.abs(n-t)/r,o=q((([,,e])=>e)).right(s,i);if(o===s.length)return e.every(Ye(t/f_,n/f_,r));if(0===o)return y_.every(Math.max(Ye(t,n,r),1));const[a,c]=s[i/s[o-1][2]=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:Ww,s:Gw,S:dw,u:mw,U:yw,V:gw,w:_w,W:bw,x:null,X:null,y:ww,Y:kw,Z:Sw,"%":Hw},b={a:function(e){return s[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return c[e.getUTCMonth()]},B:function(e){return a[e.getUTCMonth()]},c:null,d:Tw,e:Tw,f:Cw,g:Vw,G:qw,H:Aw,I:Ow,j:Nw,L:Pw,m:Rw,M:Lw,p:function(e){return i[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:Ww,s:Gw,S:Iw,u:Dw,U:Mw,V:Fw,w:Bw,W:zw,x:null,X:null,y:Uw,Y:$w,Z:Kw,"%":Hw},w={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=h.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=v.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return E(e,t,n,r)},d:Qb,e:Qb,f:nw,g:Hb,G:Kb,H:Zb,I:Zb,j:Xb,L:tw,m:Yb,M:Jb,p:function(e,t,n){var r=u.exec(t.slice(n));return r?(e.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:Gb,Q:iw,s:ow,S:ew,u:Ub,U:Vb,V:$b,w:zb,W:qb,x:function(e,t,r){return E(e,n,t,r)},X:function(e,t,n){return E(e,r,t,n)},y:Hb,Y:Kb,Z:Wb,"%":rw};function x(e,t){return function(n){var r,i,o,s=[],a=-1,c=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++a53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=Eb(Sb(o.y,0,1))).getUTCDay(),r=i>4||0===i?X_.ceil(r):X_(r),r=P_.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=kb(Sb(o.y,0,1))).getDay(),r=i>4||0===i?M_.ceil(r):M_(r),r=O_.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Eb(Sb(o.y,0,1)).getUTCDay():kb(Sb(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Eb(o)):kb(o)}}function E(e,t,n,r){for(var i,o,s=0,a=t.length,c=n.length;s=c)return-1;if(37===(i=t.charCodeAt(s++))){if(i=t.charAt(s++),!(o=w[i in Rb?t.charAt(s++):i])||(r=o(e,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return _.x=x(n,_),_.X=x(r,_),_.c=x(t,_),b.x=x(n,b),b.X=x(r,b),b.c=x(t,b),{format:function(e){var t=x(e+="",_);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=x(e+="",b);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e+="",!0);return t.toString=function(){return e},t}}}var Ab,Ob,Nb,Pb,Cb,Rb={"-":"",_:" ",0:"0"},Lb=/^\s*\d+/,Ib=/^%/,Db=/[\\^$*+?|[\]().{}]/g;function Mb(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o[e.toLowerCase(),t])))}function zb(e,t,n){var r=Lb.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Ub(e,t,n){var r=Lb.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Vb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function $b(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function qb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Kb(e,t,n){var r=Lb.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Hb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Wb(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Gb(e,t,n){var r=Lb.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function Yb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Qb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Xb(e,t,n){var r=Lb.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Zb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Jb(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function ew(e,t,n){var r=Lb.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function tw(e,t,n){var r=Lb.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function nw(e,t,n){var r=Lb.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function rw(e,t,n){var r=Ib.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function iw(e,t,n){var r=Lb.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function ow(e,t,n){var r=Lb.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function sw(e,t){return Mb(e.getDate(),t,2)}function aw(e,t){return Mb(e.getHours(),t,2)}function cw(e,t){return Mb(e.getHours()%12||12,t,2)}function uw(e,t){return Mb(1+O_.count(db(e),e),t,3)}function lw(e,t){return Mb(e.getMilliseconds(),t,3)}function hw(e,t){return lw(e,t)+"000"}function fw(e,t){return Mb(e.getMonth()+1,t,2)}function pw(e,t){return Mb(e.getMinutes(),t,2)}function dw(e,t){return Mb(e.getSeconds(),t,2)}function mw(e){var t=e.getDay();return 0===t?7:t}function yw(e,t){return Mb(D_.count(db(e)-1,e),t,2)}function vw(e){var t=e.getDay();return t>=4||0===t?B_(e):B_.ceil(e)}function gw(e,t){return e=vw(e),Mb(B_.count(db(e),e)+(4===db(e).getDay()),t,2)}function _w(e){return e.getDay()}function bw(e,t){return Mb(M_.count(db(e)-1,e),t,2)}function ww(e,t){return Mb(e.getFullYear()%100,t,2)}function xw(e,t){return Mb((e=vw(e)).getFullYear()%100,t,2)}function kw(e,t){return Mb(e.getFullYear()%1e4,t,4)}function Ew(e,t){var n=e.getDay();return Mb((e=n>=4||0===n?B_(e):B_.ceil(e)).getFullYear()%1e4,t,4)}function Sw(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Mb(t/60|0,"0",2)+Mb(t%60,"0",2)}function Tw(e,t){return Mb(e.getUTCDate(),t,2)}function Aw(e,t){return Mb(e.getUTCHours(),t,2)}function Ow(e,t){return Mb(e.getUTCHours()%12||12,t,2)}function Nw(e,t){return Mb(1+P_.count(yb(e),e),t,3)}function Pw(e,t){return Mb(e.getUTCMilliseconds(),t,3)}function Cw(e,t){return Pw(e,t)+"000"}function Rw(e,t){return Mb(e.getUTCMonth()+1,t,2)}function Lw(e,t){return Mb(e.getUTCMinutes(),t,2)}function Iw(e,t){return Mb(e.getUTCSeconds(),t,2)}function Dw(e){var t=e.getUTCDay();return 0===t?7:t}function Mw(e,t){return Mb(Q_.count(yb(e)-1,e),t,2)}function jw(e){var t=e.getUTCDay();return t>=4||0===t?eb(e):eb.ceil(e)}function Fw(e,t){return e=jw(e),Mb(eb.count(yb(e),e)+(4===yb(e).getUTCDay()),t,2)}function Bw(e){return e.getUTCDay()}function zw(e,t){return Mb(X_.count(yb(e)-1,e),t,2)}function Uw(e,t){return Mb(e.getUTCFullYear()%100,t,2)}function Vw(e,t){return Mb((e=jw(e)).getUTCFullYear()%100,t,2)}function $w(e,t){return Mb(e.getUTCFullYear()%1e4,t,4)}function qw(e,t){var n=e.getUTCDay();return Mb((e=n>=4||0===n?eb(e):eb.ceil(e)).getUTCFullYear()%1e4,t,4)}function Kw(){return"+0000"}function Hw(){return"%"}function Ww(e){return+e}function Gw(e){return Math.floor(+e/1e3)}function Yw(e){return Ab=Tb(e),Ob=Ab.format,Nb=Ab.parse,Pb=Ab.utcFormat,Cb=Ab.utcParse,Ab}function Qw(e){return new Date(e)}function Xw(e){return e instanceof Date?+e:+new Date(+e)}function Zw(e,t,n,r,i,o,s,a,c,u){var l=Rg(),h=l.invert,f=l.domain,p=u(".%L"),d=u(":%S"),m=u("%I:%M"),y=u("%I %p"),v=u("%a %d"),g=u("%b %d"),_=u("%B"),b=u("%Y");function w(e){return(c(e)t(r/(e.length-1))))},n.quantiles=function(t){return Array.from({length:t+1},((n,r)=>st(e,r/t)))},n.copy=function(){return cx(t).domain(e)},gg.apply(n,arguments)}function ux(){var e,t,n,r,i,o,s,a=0,c=.5,u=1,l=1,h=Tg,f=!1;function p(e){return isNaN(e=+e)?s:(e=.5+((e=+o(e))-t)*(l*eEi(e[e.length-1]);var Ax=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(mx);const Ox=Tx(Ax);var Nx=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(mx);const Px=Tx(Nx);var Cx=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(mx);const Rx=Tx(Cx);var Lx=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(mx);const Ix=Tx(Lx);var Dx=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(mx);const Mx=Tx(Dx);var jx=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(mx);const Fx=Tx(jx);var Bx=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(mx);const zx=Tx(Bx);var Ux=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(mx);const Vx=Tx(Ux);var $x=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(mx);const qx=Tx($x);var Kx=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(mx);const Hx=Tx(Kx);var Wx=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(mx);const Gx=Tx(Wx);var Yx=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(mx);const Qx=Tx(Yx);var Xx=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(mx);const Zx=Tx(Xx);var Jx=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(mx);const ek=Tx(Jx);var tk=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(mx);const nk=Tx(tk);var rk=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(mx);const ik=Tx(rk);var ok=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(mx);const sk=Tx(ok);var ak=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(mx);const ck=Tx(ak);var uk=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(mx);const lk=Tx(uk);var hk=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(mx);const fk=Tx(hk);var pk=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(mx);const dk=Tx(pk);var mk=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(mx);const yk=Tx(mk);var vk=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(mx);const gk=Tx(vk);var _k=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(mx);const bk=Tx(_k);var wk=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(mx);const xk=Tx(wk);var kk=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(mx);const Ek=Tx(kk);var Sk=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(mx);const Tk=Tx(Sk);function Ak(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-2710.57*e)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-67.37*e)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-2475.67*e)))))))+")"}const Ok=Fv(Ua(300,.5,0),Ua(-240,.5,1));var Nk=Fv(Ua(-100,.75,.35),Ua(80,1.5,.8)),Pk=Fv(Ua(260,.75,.35),Ua(80,1.5,.8)),Ck=Ua();function Rk(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Ck.h=360*e-100,Ck.s=1.5-1.5*t,Ck.l=.8-.9*t,Ck+""}var Lk=ti(),Ik=Math.PI/3,Dk=2*Math.PI/3;function Mk(e){var t;return e=(.5-e)*Math.PI,Lk.r=255*(t=Math.sin(e))*t,Lk.g=255*(t=Math.sin(e+Ik))*t,Lk.b=255*(t=Math.sin(e+Dk))*t,Lk+""}function jk(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-14825.05*e)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+707.56*e)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-6838.66*e)))))))+")"}function Fk(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const Bk=Fk(mx("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var zk=Fk(mx("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Uk=Fk(mx("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Vk=Fk(mx("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function $k(e){return Tr(fr(e).call(document.documentElement))}var qk=0;function Kk(){return new Hk}function Hk(){this._="@"+(++qk).toString(36)}function Wk(e,t){return e.target&&(e=ji(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,(e=>Fi(e,t)))}function Gk(e){return"string"==typeof e?new kr([document.querySelectorAll(e)],[document.documentElement]):new kr([mn(e)],xr)}function Yk(e){return function(){return e}}Hk.prototype=Kk.prototype={constructor:Hk,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};const Qk=Math.abs,Xk=Math.atan2,Zk=Math.cos,Jk=Math.max,eE=Math.min,tE=Math.sin,nE=Math.sqrt,rE=1e-12,iE=Math.PI,oE=iE/2,sE=2*iE;function aE(e){return e>=1?oE:e<=-1?-oE:Math.asin(e)}function cE(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const e=Math.floor(n);if(!(e>=0))throw new RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Qs(t)}function uE(e){return e.innerRadius}function lE(e){return e.outerRadius}function hE(e){return e.startAngle}function fE(e){return e.endAngle}function pE(e){return e&&e.padAngle}function dE(e,t,n,r,i,o,s){var a=e-n,c=t-r,u=(s?o:-o)/nE(a*a+c*c),l=u*c,h=-u*a,f=e+l,p=t+h,d=n+l,m=r+h,y=(f+d)/2,v=(p+m)/2,g=d-f,_=m-p,b=g*g+_*_,w=i-o,x=f*m-d*p,k=(_<0?-1:1)*nE(Jk(0,w*w*b-x*x)),E=(x*_-g*k)/b,S=(-x*g-_*k)/b,T=(x*_+g*k)/b,A=(-x*g+_*k)/b,O=E-y,N=S-v,P=T-y,C=A-v;return O*O+N*N>P*P+C*C&&(E=T,S=A),{cx:E,cy:S,x01:-l,y01:-h,x11:E*(i/w-1),y11:S*(i/w-1)}}function mE(){var e=uE,t=lE,n=Yk(0),r=null,i=hE,o=fE,s=pE,a=null,c=cE(u);function u(){var u,l,h,f=+e.apply(this,arguments),p=+t.apply(this,arguments),d=i.apply(this,arguments)-oE,m=o.apply(this,arguments)-oE,y=Qk(m-d),v=m>d;if(a||(a=u=c()),prE)if(y>sE-rE)a.moveTo(p*Zk(d),p*tE(d)),a.arc(0,0,p,d,m,!v),f>rE&&(a.moveTo(f*Zk(m),f*tE(m)),a.arc(0,0,f,m,d,v));else{var g,_,b=d,w=m,x=d,k=m,E=y,S=y,T=s.apply(this,arguments)/2,A=T>rE&&(r?+r.apply(this,arguments):nE(f*f+p*p)),O=eE(Qk(p-f)/2,+n.apply(this,arguments)),N=O,P=O;if(A>rE){var C=aE(A/f*tE(T)),R=aE(A/p*tE(T));(E-=2*C)>rE?(x+=C*=v?1:-1,k-=C):(E=0,x=k=(d+m)/2),(S-=2*R)>rE?(b+=R*=v?1:-1,w-=R):(S=0,b=w=(d+m)/2)}var L=p*Zk(b),I=p*tE(b),D=f*Zk(k),M=f*tE(k);if(O>rE){var j,F=p*Zk(w),B=p*tE(w),z=f*Zk(x),U=f*tE(x);if(y1?0:h<-1?iE:Math.acos(h))/2),W=nE(j[0]*j[0]+j[1]*j[1]);N=eE(O,(f-W)/(H-1)),P=eE(O,(p-W)/(H+1))}else N=P=0}S>rE?P>rE?(g=dE(z,U,L,I,p,P,v),_=dE(F,B,D,M,p,P,v),a.moveTo(g.cx+g.x01,g.cy+g.y01),PrE&&E>rE?N>rE?(g=dE(D,M,F,B,f,-N,v),_=dE(L,I,z,U,f,-N,v),a.lineTo(g.cx+g.x01,g.cy+g.y01),N=h;--f)a.point(v[f],g[f]);a.lineEnd(),a.areaEnd()}y&&(v[l]=+e(p,l,u),g[l]=+t(p,l,u),a.point(r?+r(p,l,u):v[l],n?+n(p,l,u):g[l]))}if(d)return a=null,d+""||null}function l(){return xE().defined(i).curve(s).context(o)}return e="function"==typeof e?e:void 0===e?bE:Yk(+e),t="function"==typeof t?t:Yk(void 0===t?0:+t),n="function"==typeof n?n:void 0===n?wE:Yk(+n),u.x=function(t){return arguments.length?(e="function"==typeof t?t:Yk(+t),r=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:Yk(+t),u):e},u.x1=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:Yk(+e),u):r},u.y=function(e){return arguments.length?(t="function"==typeof e?e:Yk(+e),n=null,u):t},u.y0=function(e){return arguments.length?(t="function"==typeof e?e:Yk(+e),u):t},u.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:Yk(+e),u):n},u.lineX0=u.lineY0=function(){return l().x(e).y(t)},u.lineY1=function(){return l().x(e).y(n)},u.lineX1=function(){return l().x(r).y(t)},u.defined=function(e){return arguments.length?(i="function"==typeof e?e:Yk(!!e),u):i},u.curve=function(e){return arguments.length?(s=e,null!=o&&(a=s(o)),u):s},u.context=function(e){return arguments.length?(null==e?o=a=null:a=s(o=e),u):o},u}function EE(e,t){return te?1:t>=e?0:NaN}function SE(e){return e}function TE(){var e=SE,t=EE,n=null,r=Yk(0),i=Yk(sE),o=Yk(0);function s(s){var a,c,u,l,h,f=(s=vE(s)).length,p=0,d=new Array(f),m=new Array(f),y=+r.apply(this,arguments),v=Math.min(sE,Math.max(-sE,i.apply(this,arguments)-y)),g=Math.min(Math.abs(v)/f,o.apply(this,arguments)),_=g*(v<0?-1:1);for(a=0;a0&&(p+=h);for(null!=t?d.sort((function(e,n){return t(m[e],m[n])})):null!=n&&d.sort((function(e,t){return n(s[e],s[t])})),a=0,u=p?(v-f*_)/p:0;a0?h*u:0)+_,m[c]={data:s[c],index:a,value:h,startAngle:y,endAngle:l,padAngle:g};return m}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:Yk(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(r="function"==typeof e?e:Yk(+e),s):r},s.endAngle=function(e){return arguments.length?(i="function"==typeof e?e:Yk(+e),s):i},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:Yk(+e),s):o},s}gE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var AE=NE(_E);function OE(e){this._curve=e}function NE(e){function t(t){return new OE(e(t))}return t._curve=e,t}function PE(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(NE(e)):t()._curve},e}function CE(){return PE(xE().curve(AE))}function RE(){var e=kE().curve(AE),t=e.curve,n=e.lineX0,r=e.lineX1,i=e.lineY0,o=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return PE(n())},delete e.lineX0,e.lineEndAngle=function(){return PE(r())},delete e.lineX1,e.lineInnerRadius=function(){return PE(i())},delete e.lineY0,e.lineOuterRadius=function(){return PE(o())},delete e.lineY1,e.curve=function(e){return arguments.length?t(NE(e)):t()._curve},e}function LE(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}OE.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};class IE{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}}class DE{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,t){if(e=+e,t=+t,0===this._point)this._point=1;else{const n=LE(this._x0,this._y0),r=LE(this._x0,this._y0=(this._y0+t)/2),i=LE(e,this._y0),o=LE(e,t);this._context.moveTo(...n),this._context.bezierCurveTo(...r,...i,...o)}this._x0=e,this._y0=t}}function ME(e){return new IE(e,!0)}function jE(e){return new IE(e,!1)}function FE(e){return new DE(e)}function BE(e){return e.source}function zE(e){return e.target}function UE(e){let t=BE,n=zE,r=bE,i=wE,o=null,s=null,a=cE(c);function c(){let c;const u=yE.call(arguments),l=t.apply(this,u),h=n.apply(this,u);if(null==o&&(s=e(c=a())),s.lineStart(),u[0]=l,s.point(+r.apply(this,u),+i.apply(this,u)),u[0]=h,s.point(+r.apply(this,u),+i.apply(this,u)),s.lineEnd(),c)return s=null,c+""||null}return c.source=function(e){return arguments.length?(t=e,c):t},c.target=function(e){return arguments.length?(n=e,c):n},c.x=function(e){return arguments.length?(r="function"==typeof e?e:Yk(+e),c):r},c.y=function(e){return arguments.length?(i="function"==typeof e?e:Yk(+e),c):i},c.context=function(t){return arguments.length?(null==t?o=s=null:s=e(o=t),c):o},c}function VE(){return UE(ME)}function $E(){return UE(jE)}function qE(){const e=UE(FE);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const KE=nE(3),HE={draw(e,t){const n=.59436*nE(t+eE(t/28,.75)),r=n/2,i=r*KE;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}},WE={draw(e,t){const n=nE(t/iE);e.moveTo(n,0),e.arc(0,0,n,0,sE)}},GE={draw(e,t){const n=nE(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},YE=nE(1/3),QE=2*YE,XE={draw(e,t){const n=nE(t/QE),r=n*YE;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},ZE={draw(e,t){const n=.62625*nE(t);e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}},JE={draw(e,t){const n=.87559*nE(t-eE(t/7,2));e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}},eS={draw(e,t){const n=nE(t),r=-n/2;e.rect(r,r,n,n)}},tS={draw(e,t){const n=.4431*nE(t);e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}},nS=tE(iE/10)/tE(7*iE/10),rS=tE(sE/10)*nS,iS=-Zk(sE/10)*nS,oS={draw(e,t){const n=nE(.8908130915292852*t),r=rS*n,i=iS*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){const o=sE*t/5,s=Zk(o),a=tE(o);e.lineTo(a*n,-s*n),e.lineTo(s*r-a*i,a*r+s*i)}e.closePath()}},sS=nE(3),aS={draw(e,t){const n=-nE(t/(3*sS));e.moveTo(0,2*n),e.lineTo(-sS*n,-n),e.lineTo(sS*n,-n),e.closePath()}},cS=nE(3),uS={draw(e,t){const n=.6824*nE(t),r=n/2,i=n*cS/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}},lS=-.5,hS=nE(3)/2,fS=1/nE(12),pS=3*(fS/2+1),dS={draw(e,t){const n=nE(t/pS),r=n/2,i=n*fS,o=r,s=n*fS+n,a=-o,c=s;e.moveTo(r,i),e.lineTo(o,s),e.lineTo(a,c),e.lineTo(lS*r-hS*i,hS*r+lS*i),e.lineTo(lS*o-hS*s,hS*o+lS*s),e.lineTo(lS*a-hS*c,hS*a+lS*c),e.lineTo(lS*r+hS*i,lS*i-hS*r),e.lineTo(lS*o+hS*s,lS*s-hS*o),e.lineTo(lS*a+hS*c,lS*c-hS*a),e.closePath()}},mS={draw(e,t){const n=.6189*nE(t-eE(t/6,1.7));e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}},yS=[WE,GE,XE,eS,oS,aS,dS],vS=[WE,JE,mS,uS,HE,tS,ZE];function gS(e,t){let n=null,r=cE(i);function i(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return e="function"==typeof e?e:Yk(e||WE),t="function"==typeof t?t:Yk(void 0===t?64:+t),i.type=function(t){return arguments.length?(e="function"==typeof t?t:Yk(t),i):e},i.size=function(e){return arguments.length?(t="function"==typeof e?e:Yk(+e),i):t},i.context=function(e){return arguments.length?(n=null==e?null:e,i):n},i}function _S(){}function bS(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function wS(e){this._context=e}function xS(e){return new wS(e)}function kS(e){this._context=e}function ES(e){return new kS(e)}function SS(e){this._context=e}function TS(e){return new SS(e)}function AS(e,t){this._basis=new wS(e),this._beta=t}wS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:bS(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:bS(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},kS.prototype={areaStart:_S,areaEnd:_S,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:bS(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},SS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:bS(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},AS.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r,i=e[0],o=t[0],s=e[n]-i,a=t[n]-o,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*e[c]+(1-this._beta)*(i+r*s),this._beta*t[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const OS=function e(t){function n(e){return 1===t?new wS(e):new AS(e,t)}return n.beta=function(t){return e(+t)},n}(.85);function NS(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function PS(e,t){this._context=e,this._k=(1-t)/6}PS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:NS(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:NS(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const CS=function e(t){function n(e){return new PS(e,t)}return n.tension=function(t){return e(+t)},n}(0);function RS(e,t){this._context=e,this._k=(1-t)/6}RS.prototype={areaStart:_S,areaEnd:_S,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:NS(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const LS=function e(t){function n(e){return new RS(e,t)}return n.tension=function(t){return e(+t)},n}(0);function IS(e,t){this._context=e,this._k=(1-t)/6}IS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:NS(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const DS=function e(t){function n(e){return new IS(e,t)}return n.tension=function(t){return e(+t)},n}(0);function MS(e,t,n){var r=e._x1,i=e._y1,o=e._x2,s=e._y2;if(e._l01_a>rE){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>rE){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,l=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*u+e._x1*e._l23_2a-t*e._l12_2a)/l,s=(s*u+e._y1*e._l23_2a-n*e._l12_2a)/l}e._context.bezierCurveTo(r,i,o,s,e._x2,e._y2)}function jS(e,t){this._context=e,this._alpha=t}jS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:MS(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const FS=function e(t){function n(e){return t?new jS(e,t):new PS(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function BS(e,t){this._context=e,this._alpha=t}BS.prototype={areaStart:_S,areaEnd:_S,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:MS(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const zS=function e(t){function n(e){return t?new BS(e,t):new RS(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function US(e,t){this._context=e,this._alpha=t}US.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:MS(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const VS=function e(t){function n(e){return t?new US(e,t):new IS(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function $S(e){this._context=e}function qS(e){return new $S(e)}function KS(e){return e<0?-1:1}function HS(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),s=(n-e._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(KS(o)+KS(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function WS(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function GS(e,t,n){var r=e._x0,i=e._y0,o=e._x1,s=e._y1,a=(o-r)/3;e._context.bezierCurveTo(r+a,i+a*t,o-a,s-a*n,o,s)}function YS(e){this._context=e}function QS(e){this._context=new XS(e)}function XS(e){this._context=e}function ZS(e){return new YS(e)}function JS(e){return new QS(e)}function eT(e){this._context=e}function tT(e){var t,n,r=e.length-1,i=new Array(r),o=new Array(r),s=new Array(r);for(i[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t1)for(var n,r,i,o=1,s=e[t[0]],a=s.length;o=0;)n[t]=t;return n}function uT(e,t){return e[t]}function lT(e){const t=[];return t.key=e,t}function hT(){var e=Yk([]),t=cT,n=aT,r=uT;function i(i){var o,s,a=Array.from(e.apply(this,arguments),lT),c=a.length,u=-1;for(const e of i)for(o=0,++u;o0){for(var n,r,i,o=0,s=e[0].length;o0)for(var n,r,i,o,s,a,c=0,u=e[t[0]].length;c0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=s,r[0]=s+=i):(r[0]=0,r[1]=i)}function dT(e,t){if((n=e.length)>0){for(var n,r=0,i=e[t[0]],o=i.length;r0&&(r=(n=e[t[0]]).length)>0){for(var n,r,i,o=0,s=1;so&&(o=t,r=n);return r}function gT(e){var t=e.map(_T);return cT(e).sort((function(e,n){return t[e]-t[n]}))}function _T(e){for(var t,n=0,r=-1,i=e.length;++r=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var kT="%Y-%m-%dT%H:%M:%S.%LZ",ET=Date.prototype.toISOString?function(e){return e.toISOString()}:Pb(kT);const ST=ET;var TT=+new Date("2000-01-01T00:00:00.000Z")?function(e){var t=new Date(e);return isNaN(t)?null:t}:Cb(kT);const AT=TT;function OT(e,t,n){var r=new Zi,i=t;return null==t?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(e,t,n){t=+t,n=null==n?Qi():+n,r._restart((function o(s){s+=i,r._restart(o,i+=t,n),e(s)}),t,n)},r.restart(e,t,n),r)}const NT=e=>()=>e;function PT(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function CT(e,t,n){this.k=e,this.x=t,this.y=n}CT.prototype={constructor:CT,scale:function(e){return 1===e?this:new CT(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new CT(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var RT=new CT(1,0,0);function LT(e){for(;!e.__zoom;)if(!(e=e.parentNode))return RT;return e.__zoom}function IT(e){e.stopImmediatePropagation()}function DT(e){e.preventDefault(),e.stopImmediatePropagation()}function MT(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function jT(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function FT(){return this.__zoom||RT}function BT(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zT(){return navigator.maxTouchPoints||"ontouchstart"in this}function UT(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function VT(){var e,t,n,r=MT,i=jT,o=UT,s=BT,a=zT,c=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],l=250,h=Ov,f=fn("start","zoom","end"),p=500,d=150,m=0,y=10;function v(e){e.property("__zoom",FT).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",T).filter(a).on("touchstart.zoom",A).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(c[0],Math.min(c[1],t)))===e.k?e:new CT(t,e.x,e.y)}function _(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new CT(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,n,r){e.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var e=this,o=arguments,s=x(e,o).event(r),a=i.apply(e,o),c=null==n?b(a):"function"==typeof n?n.apply(e,o):n,u=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),l=e.__zoom,f="function"==typeof t?t.apply(e,o):t,p=h(l.invert(c).concat(u/l.k),f.invert(c).concat(u/f.k));return function(e){if(1===e)e=f;else{var t=p(e),n=u/t[2];e=new CT(n,c[0]-t[0]*n,c[1]-t[1]*n)}s.zoom(null,e)}}))}function x(e,t,n){return!n&&e.__zooming||new k(e,t)}function k(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function E(e,...t){if(r.apply(this,arguments)){var n=x(this,t).event(e),i=this.__zoom,a=Math.max(c[0],Math.min(c[1],i.k*Math.pow(2,s.apply(this,arguments)))),l=Fi(e);if(n.wheel)n.mouse[0][0]===l[0]&&n.mouse[0][1]===l[1]||(n.mouse[1]=i.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(i.k===a)return;n.mouse=[l,i.invert(l)],go(this),n.start()}DT(e),n.wheel=setTimeout((function(){n.wheel=null,n.end()}),d),n.zoom("mouse",o(_(g(i,a),n.mouse[0],n.mouse[1]),n.extent,u))}}function S(e,...t){if(!n&&r.apply(this,arguments)){var i=e.currentTarget,s=x(this,t,!0).event(e),a=Tr(e.view).on("mousemove.zoom",(function(e){if(DT(e),!s.moved){var t=e.clientX-l,n=e.clientY-h;s.moved=t*t+n*n>m}s.event(e).zoom("mouse",o(_(s.that.__zoom,s.mouse[0]=Fi(e,i),s.mouse[1]),s.extent,u))}),!0).on("mouseup.zoom",(function(e){a.on("mousemove.zoom mouseup.zoom",null),Rr(e.view,s.moved),DT(e),s.event(e).end()}),!0),c=Fi(e,i),l=e.clientX,h=e.clientY;Cr(e.view),IT(e),s.mouse=[c,this.__zoom.invert(c)],go(this),s.start()}}function T(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,s=Fi(e.changedTouches?e.changedTouches[0]:e,this),a=n.invert(s),c=n.k*(e.shiftKey?.5:2),h=o(_(g(n,c),s,a),i.apply(this,t),u);DT(e),l>0?Tr(this).transition().duration(l).call(w,h,s,e):Tr(this).call(v.transform,h,s,e)}}function A(n,...i){if(r.apply(this,arguments)){var o,s,a,c,u=n.touches,l=u.length,h=x(this,i,n.changedTouches.length===l).event(n);for(IT(n),s=0;s g").attr("transform","".concat(i," ").concat(o))}},{key:"getSourcesId",value:function(e){return 0===this.pluginData.scene.selection.length?[e.subject.datum().data.id]:this.pluginData.scene.selection.includes(e.subject.datum().data.id)?this.pluginData.scene.selection:[e.subject.datum().data.id]}},{key:"getSourcePosition",value:function(e){var t=this.viewport.select(".".concat(e," .model"));return{x:parseFloat(t.attr("x")),y:parseFloat(t.attr("y"))}}},{key:"getTargetsId",value:function(e){var t=this,n=e.subject.datum().data.id,r=e.sourceEvent,i=r.clientX,o=r.clientY,s=[];return this.viewport.selectAll("g.component.container:not(.".concat(n,")")).each((function(e){var n=t.viewport.select(".".concat(e.data.id," rect.background")).node().getBoundingClientRect(),r=n.x,a=n.y,c=n.width,u=n.height;if(i>=r&&i<=r+c&&o>=a&&o<=a+u){for(var l=parseInt(t.viewport.select(".".concat(e.data.id)).attr("depth"),10)-1;s.length<=l;)s.push([]);s[l].push(e.data.id)}})),s.flat().reverse()}},{key:"getTargetId",value:function(e){var t=this,n=e.subject.datum().data.id,r=e.sourceEvent,i=r.clientX,o=r.clientY,s=[];return this.viewport.selectAll("g.component:not(.".concat(n,")")).each((function(e){var n=t.viewport.select(".".concat(e.data.id," rect.background")).node().getBoundingClientRect(),r=n.x,a=n.y,c=n.width,u=n.height;if(i>=r&&i<=r+c&&o>=a&&o<=a+u){for(var l=parseInt(t.viewport.select(".".concat(e.data.id)).attr("depth"),10)-1;s.length<=l;)s.push([]);s[l].push(e.data.id)}})),s.flat().reverse()[0]}},{key:"getTransform",value:function(e,t){var n=this.viewport.select(e).node().getBoundingClientRect(),r=n.x,i=n.y,o=this.viewport.select(t).node().getBoundingClientRect();return{dx:r-o.x,dy:i-o.y}}}],t&&function(e,t){for(var n=0;nh&&r.attr("width",p),d>f&&r.attr("height",d);var m=this.viewport.select(".".concat(t.data.id," .components-zone")),y=m.node().getBoundingClientRect();return h=(s-y.x)/n,f=(a-y.y)/n,p=(u-y.x)/n,d=(l-y.y)/n,p>h&&m.attr("width",p),d>f&&m.attr("height",d),!1}},{key:"finalize",value:function(e){var t=e.subject.datum().data.id,n=this.viewport.select(".".concat(t," .model")),r=this.pluginData.getComponentById(t);return r.drawOption.width=parseFloat(n.attr("width")),r.drawOption.height=parseFloat(n.attr("height")),this.pluginData.emitEvent({components:[t],type:"Drawer",action:"resize",status:"success"}),!0}},{key:"getMaxPosition",value:function(e){var t=this,n=0,r=0;return this.pluginData.getChildren(e).forEach((function(e){var i=t.viewport.select(".".concat(e.id," .model")).node().getBoundingClientRect(),o=i.x,s=i.y,a=o+i.width,c=s+i.height;n=a>n?a:n,r=c>r?c:r})),{x:n,y:r}}}],r&&function(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.pluginData.emitEvent({components:o,type:"Drawer",action:"move",status:"success"}),s.length>0&&this.pluginData.emitEvent({components:s,type:"Drawer",action:"resize",status:"success"})}},{key:"getNodes",value:function(){var e=this,t=new Map(this.pluginData.components.map((function(t){return[t.id,e.createNode(t)]})));return t.set("root",{id:"root",parent:null,children:[],depth:0,type:"default",isContainer:!0}),t.forEach((function(e){if(e.parent){var n=t.get(e.parent);e.parent=n,n.children.push(e)}})),t}},{key:"createNode",value:function(e){return{id:e.id,parent:e.getContainerId()||"root",type:e.definition.displayType||"default",direction:e.definition.workflowDirection,children:[],depth:this.pluginData.getComponentDepth(e.id)+1,isContainer:e.definition.isContainer,width:e.definition.width,height:e.definition.height,minWidth:e.definition.minWidth,minHeight:e.definition.minHeight,margin:e.definition.containerMargin,x:e.drawOption.x,y:e.drawOption.y}}},{key:"generateLayout",value:function(e,t,n){var r=this;t.children.forEach((function(t){r.generateLayout(e,t)})),t.isContainer&&"default"===t.type?this.generateDefaultLayout(e,t,n):t.isContainer&&this.generateWorkflowLayout(e,t)}},{key:"generateDefaultLayout",value:function(e,t,n){this.text=0;var r=[],i=[],o=0,s=0;t.children.forEach((function(e){e.x&&e.y&&n?(r.push(e),o=e.x+e.width>o?e.x+e.width:o,s=e.y+e.height>s?e.y+e.height:s):i.push(e)}));for(var a,c=0,u=0,l=this.getPoints(c);i.length>0;)a||(a=i[0]),this.canBePlace(r,a,l[u])&&(a.x=l[u].x,a.y=l[u].y,o=a.x+a.width>o?a.x+a.width:o,s=a.y+a.height>s?a.y+a.height:s,r.push(a),i.shift(),a=null),(u+=1)>=l.length&&(u=0,c+=1,l=this.getPoints(c));var h=this.pluginData.container.padding;t.width=o+h,t.height=s+h,t.width=Math.max(o+h+2*t.margin,t.minWidth),t.height=s+2*h+2*t.margin+t.minHeight}},{key:"canBePlace",value:function(e,t,n){return e.every((function(e){var r=e.x,i=e.y,o=e.width,s=e.height,a=n.x+t.widthr+o,u=n.y+t.heighti+s;return a||c||u||l}))}},{key:"getPoints",value:function(e){var t=10;if(0===e)return[{x:t,y:t}];for(var n=t+50*e,r=t+50*e,i=[],o=t,s=t;s<=n&&(i.push({x:s,y:r}),(s+=50)!==n||r!==o);)i.push({x:n,y:o}),o+=50;return i}},{key:"generateWorkflowLayout",value:function(e,t){"vertical"===t.direction?this.generateVerticalWorkflowLayout(e,t):this.generateHorizontalWorkflowLayout(e,t)}},{key:"generateHorizontalWorkflowLayout",value:function(e,t){var n=this.pluginData.container,r=n.padding,i=n.gap,o=r,s=0;t.children.forEach((function(e){e.x=o,e.y=r,o=e.x+e.width+i,e.height>s&&(s=e.height)})),t.width=Math.max(o-i+r+2*t.margin,t.minWidth),t.height=s+2*r+2*t.margin+t.minHeight}},{key:"generateVerticalWorkflowLayout",value:function(e,t){var n=this.pluginData.container,r=n.padding,i=n.gap,o=r,s=0;t.children.forEach((function(e){e.x=r,e.y=o,o=e.y+e.height+i,e.width>s&&(s=e.width)})),t.width=Math.max(s+2*r+2*t.margin,t.minWidth),t.height=o-i+r+2*t.margin+t.minHeight}},{key:"resize",value:function(e){var t=this.pluginData.getComponentById(e);if(t.definition.isContainer){var n=0,r=0;this.pluginData.getChildren(e).forEach((function(e){var t=e.drawOption.x+e.drawOption.width,i=e.drawOption.y+e.drawOption.height;t>n&&(n=t),i>r&&(r=i)}));var i=this.pluginData.container.padding,o=t.definition,s=o.minWidth,a=o.minHeight,c=o.margin,u=Math.max(n+2*i+2*c,s),l=r+i+2*c+a;u===t.drawOption.width&&l===t.drawOption.height||(t.drawOption.width=u,t.drawOption.height=l,this.pluginData.emitEvent({components:[e],type:"Drawer",action:"resize",status:"success"}))}}}],r&&function(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var c=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(c&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),N(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:C(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function $O(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function qO(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){$O(o,r,i,s,a,"next",e)}function a(e){$O(o,r,i,s,a,"throw",e)}s(void 0)}))}}function KO(e){var t=function(e,t){if("object"!=jO(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=jO(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==jO(t)?t:t+""}var HO=function(){return t=function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.pluginData=n,this.componentRenderer=null,this.linkRenderer=null,this.layout=null,this.viewport=null,this.scene=null,this.d3=e,this.actions={deleteAction:null,dragComponent:null,dragScene:null,linkAction:null,menuAction:null,resizeComponent:null,toggleSelection:null,selectionAll:null,deselectionAll:null,zoom:null},this.states={linking:!1,menuOpening:!1,moving:!1,resizing:!1,selection:!1},this.readOnly=!1},n=[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.d3.select("#".concat(e)).selectAll(null).remove(),this.d3.select("#".concat(e)).html(""),this.viewport=this.d3.select("#".concat(e)),this.componentRenderer=new xO(this.pluginData,this.viewport,t),this.linkRenderer=new TO(this.pluginData,this.viewport,t),this.layout=new MO(this.pluginData,this.viewport),this.readOnly=t,this.clearActions(),this.readOnly&&(this.pluginData.scene.x=0,this.pluginData.scene.y=0,this.pluginData.scene.zoom=1),this.initActions(),this.initScene()}},{key:"clearActions",value:function(){this.actions.deleteAction=null,this.actions.dragComponent=null,this.actions.dragScene=null,this.actions.menuAction=null,this.actions.resizeComponent=null,this.actions.toggleSelection=null,this.actions.selectionAll=null,this.actions.deselectionAll=null,this.actions.zoom=null,this.viewport.on("wheel",null),this.d3.select("body").on("keydown",null).on("keyup",null),this.viewport.on(".drag",null)}},{key:"initActions",value:function(){var e=this;this.actions.deleteAction=new eA(this.pluginData,this.viewport,this.layout),this.actions.dragComponent=new cA(this.pluginData,this.viewport,this.layout),this.actions.dragScene=new mA(this.pluginData,this.viewport,this.layout),this.actions.link=new xA(this.pluginData,this.viewport,this.layout),this.actions.menuAction=new NA(this.pluginData,this.viewport,this.layout),this.actions.resizeComponent=new jA(this.pluginData,this.viewport,this.layout),this.actions.toggleSelection=new HA(this.pluginData,this.viewport,this.layout),this.actions.selectionAll=new aO(this.pluginData,this.viewport,this.layout),this.actions.deselectionAll=new JA(this.pluginData,this.viewport,this.layout),this.actions.zoom=new dO(this.pluginData,this.viewport,this.layout),this.viewport.on("wheel",(function(t){e.actions.zoom.execute(t)&&e.draw()})),this.readOnly||this.d3.select("body").on("keydown",(function(t){var n=!1;e.pluginData.keysBinding.selection.includes(t.key)&&(e.states.selection=!0),e.pluginData.keysBinding.deleteObject.includes(t.key)&&(n=e.actions.deleteAction.execute(t)),e.pluginData.keysBinding.selectAll.includes(t.key)&&(n=e.actions.selectionAll.execute(t)),e.pluginData.keysBinding.deselectAll.includes(t.key)&&(n=e.actions.deselectionAll.execute(t)),n&&e.draw()})).on("keyup",(function(t){var n=!1;e.pluginData.keysBinding.selection.includes(t.key)&&(e.states.selection=!1),e.pluginData.keysBinding.deleteObject.includes(t.key)&&(n=e.actions.deleteAction.finalize(t)),e.pluginData.keysBinding.selectAll.includes(t.key)&&(n=e.actions.selectionAll.finalize(t)),e.pluginData.keysBinding.deselectAll.includes(t.key)&&(n=e.actions.deselectionAll.finalize(t)),n&&e.draw()}));var t=this.d3.drag().subject((function(t){var n=t.sourceEvent.target.closest(".component");if(e.states.resizing=!!t.sourceEvent.target.closest(".resize-button"),e.states.menuOpening=!!t.sourceEvent.target.closest(".menu-button"),!n)return e.scene;var r=e.viewport.select(Array.from(n.classList).map((function(e){return".".concat(e)})).join(""));return e.states.linking=!!t.sourceEvent.target.closest(".anchor")&&e.pluginData.canHaveLink(r.datum().data.definition.type),r})).on("drag",(function(t){e.states.moving=!0;var n="scene"===t.subject.datum().data.id,r=!1;e.readOnly?e.actions.dragScene.execute(t):(n?r=e.actions.dragScene.execute(t):e.states.linking?(r=e.actions.link.execute(t),e.linkRenderer.render()):e.states.resizing?(r=e.actions.resizeComponent.execute(t),e.linkRenderer.render()):(r=e.actions.dragComponent.execute(t),e.linkRenderer.render()),r&&e.draw())})).on("end",function(){var t=qO(VO().mark((function t(n){var r,i,o,s,a,c,u;return VO().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.states.moving,i=e.states.selection,o=e.states.menuOpening,s=e.states.resizing,a=e.states.linking,c="scene"===n.subject.datum().data.id,u=!1,!e.readOnly){t.next=10;break}return c&&r&&e.actions.dragScene.finalize(n),t.abrupt("return");case 10:a?u=e.actions.link.finalize(n):r&&c?u=e.actions.dragScene.finalize(n):s?u=e.actions.resizeComponent.finalize(n):r&&!c?u=e.actions.dragComponent.finalize(n):!r&&o?u=e.actions.menuAction.finalize(n):r||c||!i||(u=e.actions.toggleSelection.finalize(n)),u&&e.draw(),e.states.moving=!1;case 13:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());this.viewport.call(t)}},{key:"getScene",value:function(){return this.viewport.selectAll(".scene").data(this.getSceneData()).join("svg").attr("class","scene").attr("width","100%").attr("height","100%")}},{key:"initScene",value:function(){var e=this;this.scene=this.getScene(),this.scene.append("defs").html(Object.keys(this.pluginData.resources.markers).map((function(t){return e.pluginData.resources.markers[t]})).join(""));var t=this.pluginData.scene,n=t.x,r=t.y,i=t.zoom,o="translate(".concat(n," ").concat(r,") scale(").concat(i,")");this.scene.append("g").attr("class","components").attr("transform",o),this.scene.append("g").attr("class","links").attr("transform",o)}},{key:"draw",value:(r=qO(VO().mark((function e(){var t,n,r,i,o,s,a,c,u,l;return VO().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.scene=this.getScene(),this.componentRenderer.render("scene"),this.linkRenderer.render("scene"),this.readOnly){for(t=this.viewport.node().getBoundingClientRect(),n=t.width,r=t.height,i=this.viewport.select(".scene .components").node().getBBox(),o=i.width,s=i.height,a=n/oa;)c*=.9;u=(n-o*c)/2,l=(r-s*c)/2,this.pluginData.scene.zoom=c,this.viewport.selectAll(".scene > g").attr("transform","translate(".concat(u," ").concat(l,") scale(").concat(c,")"))}case 4:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"arrangeComponentsPosition",value:function(e,t){this.layout.generateComponentsLayout(e,t)}},{key:"resize",value:function(e){this.layout.resize(e)}},{key:"getSceneData",value:function(){var e,t=this;return[this.d3.hierarchy(zO({id:"scene",name:"",children:(e=this.pluginData.components.filter((function(e){return null===e.getContainerId()})),function(e){if(Array.isArray(e))return FO(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return FO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?FO(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())},this.pluginData.scene),(function(e){return"scene"===e.id?e.children:t.pluginData.getChildren(e.id)}))]}}],n&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return e.path}))}},{key:"parseConfiguration",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"running",files:[t.path],data:{global:!1}});if(null!=t.content){var o=JSON.parse(t.content);o[e.path]?o[e.path][this.pluginData.name]?(Object.keys(o[e.path][this.pluginData.name]).forEach((function(t){var r=n.pluginData.getComponentByConfigurationKey(t);r&&o[e.path][n.pluginData.name][t]&&(r.drawOption=new h(o[e.path][n.pluginData.name][t]))})),this.pluginData.emitEvent({id:i,status:"success"})):this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_plugin_content",global:!1}}):this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_diagram_content",global:!1}})}else this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_content",global:!1}})}},{key:"isParsable",value:function(e){return null!=e}}],t&&function(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce((function(e,t){return e[t.path]="",e}),{});return this.renderFiles(e).forEach((function(e){t[e.path]=e.content})),Object.keys(t).map((function(e){return new U({path:e,content:t[e]})}))}},{key:"renderFiles",value:function(){return[]}},{key:"renderConfiguration",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.pluginData.emitEvent({parent:r,type:"Render",action:"write",status:"running",files:[t.path],data:{global:!1}}),o=JSON.parse(t.content)||{};o[e.path]||(o[e.path]={}),o[e.path][this.pluginData.name]={},this.pluginData.components.filter((function(e){return e.drawOption})).forEach((function(t){var r=t.getConfigurationKey();o[e.path][n.pluginData.name][r]=t.drawOption})),t.content=JSON.stringify(o,(function(e,t){return null===t?void 0:t}),2),this.pluginData.emitEvent({id:i,status:"success"})}}],t&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"Error happened when trying to parse.",s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"Error";return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=this,r=t,i=[o||"Error happened when trying to parse."],r=cN(r),e=function(e,t){if(t&&("object"===iN(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(n,sN()?Reflect.construct(r,i||[],cN(n).constructor):r.apply(n,i))).name="ParseError",e.startLine=s||0,e.startColumn=a||0,e.endLine=c||0,e.endColumn=u||0,e.severity=l||"Error",e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&aN(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(oN(Error));var lN=function(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:null,parentId:null,files:null,components:null,links:null,type:null,action:null,status:null,data:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.id,r=t.parentId,i=t.files,o=t.components,s=t.links,a=t.type,c=t.action,u=t.status,l=t.data;this.id=n||null,this.parentId=r||null,this.startDate=null,this.endDate=null,this.files=i||null,this.components=o||null,this.links=s||null,this.type=a||null,this.action=c||null,this.status=u||null,this.data=l||null}));const hN=lN;function fN(e){return fN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fN(e)}function pN(e,t,n){return t=mN(t),function(e,t){if(t&&("object"===fN(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,dN()?Reflect.construct(t,n||[],mN(e).constructor):t.apply(e,n))}function dN(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(dN=function(){return!!e})()}function mN(e){return mN=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},mN(e)}function yN(e,t){return yN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},yN(e,t)}const vN=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{anchorName:null};return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=pN(this,t,[n])).isTemporary=!0,e.anchorName=n.anchorName||null,e.endX=null,e.endY=null,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&yN(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(L);function gN(e){return gN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gN(e)}function _N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{name:null,version:null,components:[],variables:[],definitions:{components:[],links:[]},parseErrors:[],resources:{}},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n.name||null,this.version=n.version||null,this.components=n.components||[],this.scene=n.scene||{x:0,y:0,zoom:1,selection:[],selectionRef:null},this.keysBinding={moveSceneUp:["ArrowUp"],moveSceneDown:["ArrowDown"],moveSceneLeft:["ArrowLeft"],moveSceneRight:["ArrowRight"],moveComponentUp:[],moveComponentDown:[],moveComponentLeft:[],moveComponentRight:[],zoomIn:["+"],zoomOut:["-"],deleteObject:["Delete"],editComponent:[",","?"],selection:["Shift"],selectAll:["A"],deselectAll:["D"]},this.container={padding:30,gap:50},this.variables=n.variables||[],this.definitions={components:[],links:[]},n.definitions&&(this.definitions.components=n.definitions.components||[],this.definitions.links=n.definitions.links||[]),this.parseErrors=n.parseErrors||[],this.__eventIndex=0,this.eventManager=r,this.eventLogs=[],this.configuration=t,this.resources=n.resources||{icons:{},markers:{},links:{},models:{}},this.temporaryLink=null},t=[{key:"coreVersion",get:function(){return"0.23.0"}},{key:"getComponentById",value:function(e){return this.components.find((function(t){return t.id===e}))||null}},{key:"getComponentDepth",value:function(e){var t=this.getComponentById(e).getContainerId();return t?this.getComponentDepth(t)+1:0}},{key:"getComponentByConfigurationKey",value:function(e){return this.getComponentById(e)}},{key:"renameComponentExternalId",value:function(e,t){this.getComponentById(e).setExternalId(t)}},{key:"getComponentsByType",value:function(e){return this.components.filter((function(t){var n=t.definition;return n&&n.type===e}))}},{key:"addComponent",value:function(e,t){var n=this.generateComponentId();return this.components.push(new _({id:n,name:n,definition:e,path:t})),n}},{key:"generateComponentId",value:function(){var e,t=this.components.map((function(e){return e.id})).filter((function(e){return new RegExp("".concat("id_","\\d+")).test(e)})).map((function(e){return parseInt(e.substring(3),10)})),n=0===t.length?1:Math.max.apply(Math,function(e){if(Array.isArray(e))return xN(e)}(e=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return xN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xN(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())+1;return"".concat("id_").concat(n)}},{key:"removeComponentById",value:function(e){var t=this;this.getChildren(e).forEach((function(e){return t.removeComponentById(e.id)})),this.components=this.components.filter((function(t){return t.id!==e})),this.components.forEach((function(t){t.removeLinkAttribute(e)}))}},{key:"removeLink",value:function(e){var t=e.source,n=e.target,r=e.definition.attributeRef;this.getComponentById(t).removeLinkAttribute(n,r)}},{key:"getLinks",value:function(){var e=this,t=[];return this.definitions.links.forEach((function(n){e.getComponentsByType(n.sourceRef).forEach((function(r){var i=r.getAttributeByName(n.attributeRef);i&&e.getLinkedComponentsIds(i).forEach((function(e){return t.push(new L({definition:n,source:r.id,target:e}))}))}))})),this.temporaryLink&&t.push(this.temporaryLink),t.concat(this.getWorkflowLinks())}},{key:"getAttributeValue",value:function(e){return e.isVariable?this.getVariableValue(e.value):e.value}},{key:"getLinkedComponentsIds",value:function(e){var t=this.getAttributeValue(e);return null===t?[]:Array.isArray(t)?t:[t]}},{key:"getVariableValue",value:function(e){var t;return(null===(t=this.variables.find((function(t){return t.name===e})))||void 0===t?void 0:t.value)||null}},{key:"setVariableValue",value:function(e,t){var n=this.variables.find((function(t){return t.name===e}));n&&(n.value=t)}},{key:"getComponentIdFromValue",value:function(e){return e}},{key:"canHaveLink",value:function(e){return this.definitions.links.some((function(t){var n=t.sourceRef;return t.targetRef,n===e}))}},{key:"canBeLink",value:function(e,t){return this.definitions.links.some((function(n){var r=n.sourceRef,i=n.targetRef;return r===e&&i===t}))}},{key:"createTemporaryLink",value:function(e,t){this.temporaryLink=new vN({source:e,anchorName:t,definition:this.definitions.links.find((function(e){return e.isTemporary}))})}},{key:"getWorkflowLinks",value:function(){var e=this;return this.components.filter((function(e){var t;return null===(t=e.definition.displayType)||void 0===t?void 0:t.match("workflow")})).reduce((function(t,n){var r=e.getChildren(n.id);if(r.length>1)for(var i=0;in,this.components.splice(i,0,r),this.components.splice(n+(ie}))}},{key:"emitEvent",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.id;return r?(t=this.getEventLogById(r),Object.keys(n).forEach((function(e){t[e]=n[e]}))):(this.__eventIndex+=1,r=this.__eventIndex,(t=new hN(bN(bN({},n),{},{id:r}))).startDate=Date.now(),this.eventLogs.push(t)),["success","warning","error"].includes(t.status)&&(t.endDate=Date.now()),null!==(e=this.eventManager)&&void 0!==e&&e.next&&this.eventManager.next({plugin:this.name,event:bN({},t)}),r}}],t&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{editor:{syntax:null},restrictiveFolder:null,defaultFileName:null,defaultFileExtension:null,tags:[],elkParams:null,singleComponentParams:null,isFolderTypeDiagram:!0};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.editor=ON({syntax:null},n.editor),this.restrictiveFolder=n.restrictiveFolder||null,this.defaultFileName=n.defaultFileName||null,this.defaultFileExtension=n.defaultFileExtension||null,this.tags=n.tags||[],this.elkParams=ON({"elk.algorithm":"elk.layered","spacing.baseValue":"50",separateConnectedComponents:"true","elk.layered.cycleBreaking.strategy":"INTERACTIVE","elk.layered.layering.strategy":"INTERACTIVE","elk.layered.crossingMinimization.strategy":"LAYER_SWEEP","elk.layered.nodePlacement.strategy":"BRANDES_KOEPF","elk.layered.interactiveReferencePoint":"TOP_LEFT","elk.debugMode":"true","elk.direction":"UNDEFINED"},n.elkParams),this.singleComponentParams=ON({precision:10,margin:20},n.singleComponentParams),this.isFolderTypeDiagram=null===(t=n.isFolderTypeDiagram)||void 0===t||t}));function RN(e){return RN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},RN(e)}function LN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function IN(){IN=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,s=Object.create(o.prototype),a=new P(r||[]);return i(s,"_invoke",{value:T(e,n,a)}),s}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",p="suspendedYield",d="executing",m="completed",y={};function v(){}function g(){}function _(){}var b={};u(b,s,(function(){return this}));var w=Object.getPrototypeOf,x=w&&w(w(C([])));x&&x!==n&&r.call(x,s)&&(b=x);var k=_.prototype=v.prototype=Object.create(b);function E(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(i,o,s,a){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==RN(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,s,a)}),(function(e){n("throw",e,s,a)})):t.resolve(l).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,a)}))}a(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function T(t,n,r){var i=f;return function(o,s){if(i===d)throw Error("Generator is already running");if(i===m){if("throw"===o)throw s;return{value:e,done:!0}}for(r.method=o,r.arg=s;;){var a=r.delegate;if(a){var c=A(a,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?m:p,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=m,r.method="throw",r.arg=u.arg)}}}function A(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,A(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var s=o.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function C(t){if(t||""===t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var c=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(c&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),N(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:C(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function DN(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function MN(e,t,n){return(t=jN(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jN(e){var t=function(e,t){if("object"!=RN(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=RN(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==RN(t)?t:t+""}var FN=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{event:null,configuration:null,pluginData:null,pluginDrawer:null,pluginMetadata:null,pluginParser:null,pluginRenderer:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),MN(this,"S",void 0),this.configuration=t.configuration||new CN,this.data=t.pluginData||new SN(this.configuration,{},t.event),this.__drawer=t.pluginDrawer||new WO(this.data),this.__metadata=t.pluginMetadata||new QO(this.data),this.__parser=t.pluginParser||new JO(this.data),this.__renderer=t.pluginRenderer||new rN(this.data)},t=[{key:"init",value:function(){var e=this.data.emitEvent({type:"Plugin",action:"init",status:"running"});this.__metadata.parse(e),this.data.initLinkDefinitions(e),this.data.emitEvent({id:e,status:"success"})}},{key:"initResources",value:function(e){this.data.resources=e}},{key:"initDrawer",value:function(e,t){this.__drawer.init(e,t)}},{key:"draw",value:(n=IN().mark((function e(){return IN().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.__drawer.draw());case 1:case"end":return e.stop()}}),e,this)})),r=function(){var e=this,t=arguments;return new Promise((function(r,i){var o=n.apply(e,t);function s(e){DN(o,r,i,s,a,"next",e)}function a(e){DN(o,r,i,s,a,"throw",e)}s(void 0)}))},function(){return r.apply(this,arguments)})},{key:"parse",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=this.data.emitEvent({type:"Parser",action:"read",status:"running",files:n.map((function(e){return e.path})).concat(null==t?void 0:t.path),data:{global:!0}});this.__parser.parse(e,n,r),this.__parser.parseConfiguration(e,t,r),this.data.emitEvent({id:r,status:"success"})}},{key:"isParsable",value:function(e){return this.__parser.isParsable(e)}},{key:"getModels",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.__parser.getModels(t.filter((function(t){return e.isParsable(t)})))}},{key:"render",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=this.data.emitEvent({type:"Render",action:"write",status:"running",files:n.map((function(e){return e.path})).concat(t.path),data:{global:!0}});this.__renderer.renderConfiguration(e,t,r);var i=this.__renderer.render(n,r).concat(t);return this.data.emitEvent({id:r,status:"success"}),i}},{key:"arrangeComponentsPosition",value:function(e,t){this.__drawer.arrangeComponentsPosition(e,t)}},{key:"resize",value:function(e){this.__drawer.resize(e)}},{key:"getComponentPosition",value:function(e,t){var n=t.x,r=t.y,i=this.__drawer.actions.zoom,o=i.scale,s=i.translate,a=document.querySelector("#".concat(e)).getBoundingClientRect(),c=a.left,u=a.top;return{x:(n-c-s.x)/o,y:(r-u-s.y)/o}}},{key:"addComponent",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=this.data.addComponent(t,n);if(r){var o=this.data.getComponentById(i),s=document.elementsFromPoint(r.x,r.y).filter((function(e){return e.classList.contains(".model")})).map((function(e){return Tr(e).datum().data})).filter((function(e){return e.definition.childrenTypes.includes(t.type)}))[0];if(s){var a=this.data.getComponentById(s.id);o.setReferenceAttribute(a)}else o.drawOption=new h(function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{type:null,value:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n=t.type,r=t.value;this.type=n||null,this.value=r||null}));const UN=zN;function VN(e){return VN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},VN(e)}function $N(e,t,n){return t=KN(t),function(e,t){if(t&&("object"===VN(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,qN()?Reflect.construct(t,n||[],KN(e).constructor):t.apply(e,n))}function qN(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(qN=function(){return!!e})()}function KN(e){return KN=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},KN(e)}function HN(e,t){return HN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},HN(e,t)}var WN=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:null,type:null,value:null,category:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e=$N(this,t,[n]);var r=n.name,i=n.type,o=n.value,s=n.category;return e.__class="Variable",e.name=r||null,e.type=i||null,e.value=o||null,e.category=s||null,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&HN(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(l);const GN=WN})();var o=t;for(var s in i)o[s]=i[s];i.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})()},985:function(e){var t;"undefined"!=typeof self&&self,t=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(e,t,n){"use strict";var r=Array.prototype,i=Object.prototype,o={"&":"&",'"':""","'":"'","<":"<",">":">","\\":"\"},s=/[&"'<>\\]/g;function a(e,t){return i.hasOwnProperty.call(e,t)}function c(e){return o[e]}function u(e,t,n){var r,i,o;if(e instanceof Error&&(e=(i=e).name+": "+i.message),Object.setPrototypeOf?(r=new Error(e),Object.setPrototypeOf(r,u.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:e})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var s=Object.getOwnPropertyDescriptor(i,"stack");(o=s&&(s.get||function(){return s.value}))||(o=function(){return i.stack})}else{var a=new Error(e).stack;o=function(){return a}}return Object.defineProperty(r,"stack",{get:function(){return o.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=t,r.colno=n,r.firstUpdate=!0,r.Update=function(e){var t="("+(e||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?t+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(t+=" [Line "+this.lineno+"]")),t+="\n ",this.firstUpdate&&(t+=" "),this.message=t+(this.message||""),this.firstUpdate=!1,this},r}function l(e){return"[object Function]"===i.toString.call(e)}function h(e){return"[object Array]"===i.toString.call(e)}function f(e){return"[object String]"===i.toString.call(e)}function p(e){return"[object Object]"===i.toString.call(e)}function d(e){var t,n=(t=e)?"string"==typeof t?t.split("."):[t]:[];return function(e){for(var t=e,r=0;re.length)s=i.slice(0,e.length),i.slice(s.length,u).forEach((function(e,n){n2?i-2:0),s=2;s0||!n)&&process.stdout.write(" ".repeat(t));var o=i===r.length-1?"":"\n";process.stdout.write(""+e+o)}))}e.exports={Node:c,Root:h,NodeList:l,Value:u,Literal:f,Symbol:p,Group:d,Array:m,Pair:y,Dict:v,Output:z,Capture:U,TemplateData:V,If:_,IfAsync:b,InlineIf:w,For:x,AsyncEach:k,AsyncAll:E,Macro:S,Caller:T,Import:A,FromImport:O,FunCall:N,Filter:P,FilterAsync:C,KeywordArgs:R,Block:L,Super:I,Extends:D,Include:M,Set:j,Switch:F,Case:B,LookupVal:g,BinOp:q,In:K,Is:H,Or:W,And:G,Not:Y,Add:Q,Concat:X,Sub:Z,Mul:J,Div:ee,FloorDiv:te,Mod:ne,Pow:re,Neg:ie,Pos:oe,Compare:se,CompareOperand:ae,CallExtension:ce,CallExtensionAsync:ue,printNodes:function e(t,n){if(n=n||0,le(t.typename+": ",n),t instanceof l)le("\n"),t.children.forEach((function(t){e(t,n+2)}));else if(t instanceof ce)le(t.extName+"."+t.prop+"\n"),t.args&&e(t.args,n+2),t.contentArgs&&t.contentArgs.forEach((function(t){e(t,n+2)}));else{var r=[],i=null;t.iterFields((function(e,t){e instanceof c?r.push([t,e]):(i=i||{})[t]=e})),i?le(JSON.stringify(i,null,2)+"\n",null,!0):le("\n"),r.forEach((function(t){var r=t[0],i=t[1];le("["+r+"] =>",n+2),e(i,n+4)}))}}}},function(e,t){},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=n(8),o=n(17),s=n(3),a=n(0).TemplateError,c=n(2).Frame,u=n(1).Obj,l={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},h=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var o=i.prototype;return o.init=function(e,t){this.templateName=e,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=t},o.fail=function(e,t,n){throw void 0!==t&&(t+=1),void 0!==n&&(n+=1),new a(e,t,n)},o._pushBuffer=function(){var e=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=e,this._emit("var "+this.buffer+' = "";'),e},o._popBuffer=function(){this.buffer=this.bufferStack.pop()},o._emit=function(e){this.codebuf.push(e)},o._emitLine=function(e){this._emit(e+"\n")},o._emitLines=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r0&&i._emit(","),i.compile(e,t)})),r&&this._emit(r)},o._compileExpression=function(e,t){this.assertType(e,s.Literal,s.Symbol,s.Group,s.Array,s.Dict,s.FunCall,s.Caller,s.Filter,s.LookupVal,s.Compare,s.InlineIf,s.In,s.Is,s.And,s.Or,s.Not,s.Add,s.Concat,s.Sub,s.Mul,s.Div,s.FloorDiv,s.Mod,s.Pow,s.Neg,s.Pos,s.Compare,s.NodeList),this.compile(e,t)},o.assertType=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&r._emit(","),e){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(e,t),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var c=this._tmpid();this._emitLine(", "+this._makeCallback(c)),this._emitLine(this.buffer+" += runtime.suppressValue("+c+", "+a+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+a+" && env.opts.autoescape);\n")},o.compileCallExtensionAsync=function(e,t){this.compileCallExtension(e,t,!0)},o.compileNodeList=function(e,t){this._compileChildren(e,t)},o.compileLiteral=function(e){if("string"==typeof e.value){var t=e.value.replace(/\\/g,"\\\\");t=(t=(t=(t=(t=t.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+t+'"')}else null===e.value?this._emit("null"):this._emit(e.value.toString())},o.compileSymbol=function(e,t){var n=e.value,r=t.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},o.compileGroup=function(e,t){this._compileAggregate(e,t,"(",")")},o.compileArray=function(e,t){this._compileAggregate(e,t,"[","]")},o.compileDict=function(e,t){this._compileAggregate(e,t,"{","}")},o.compilePair=function(e,t){var n=e.key,r=e.value;n instanceof s.Symbol?n=new s.Literal(n.lineno,n.colno,n.value):n instanceof s.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,t),this._emit(": "),this._compileExpression(r,t)},o.compileInlineIf=function(e,t){this._emit("("),this.compile(e.cond,t),this._emit("?"),this.compile(e.body,t),this._emit(":"),null!==e.else_?this.compile(e.else_,t):this._emit('""'),this._emit(")")},o.compileIn=function(e,t){this._emit("runtime.inOperator("),this.compile(e.left,t),this._emit(","),this.compile(e.right,t),this._emit(")")},o.compileIs=function(e,t){var n=e.right.name?e.right.name.value:e.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(e.left,t),e.right.args&&(this._emit(","),this.compile(e.right.args,t)),this._emit(") === true")},o._binOpEmitter=function(e,t,n){this.compile(e.left,t),this._emit(n),this.compile(e.right,t)},o.compileOr=function(e,t){return this._binOpEmitter(e,t," || ")},o.compileAnd=function(e,t){return this._binOpEmitter(e,t," && ")},o.compileAdd=function(e,t){return this._binOpEmitter(e,t," + ")},o.compileConcat=function(e,t){return this._binOpEmitter(e,t,' + "" + ')},o.compileSub=function(e,t){return this._binOpEmitter(e,t," - ")},o.compileMul=function(e,t){return this._binOpEmitter(e,t," * ")},o.compileDiv=function(e,t){return this._binOpEmitter(e,t," / ")},o.compileMod=function(e,t){return this._binOpEmitter(e,t," % ")},o.compileNot=function(e,t){this._emit("!"),this.compile(e.target,t)},o.compileFloorDiv=function(e,t){this._emit("Math.floor("),this.compile(e.left,t),this._emit(" / "),this.compile(e.right,t),this._emit(")")},o.compilePow=function(e,t){this._emit("Math.pow("),this.compile(e.left,t),this._emit(", "),this.compile(e.right,t),this._emit(")")},o.compileNeg=function(e,t){this._emit("-"),this.compile(e.target,t)},o.compilePos=function(e,t){this._emit("+"),this.compile(e.target,t)},o.compileCompare=function(e,t){var n=this;this.compile(e.expr,t),e.ops.forEach((function(e){n._emit(" "+l[e.type]+" "),n.compile(e.expr,t)}))},o.compileLookupVal=function(e,t){this._emit("runtime.memberLookup(("),this._compileExpression(e.target,t),this._emit("),"),this._compileExpression(e.val,t),this._emit(")")},o._getNodeName=function(e){switch(e.typename){case"Symbol":return e.value;case"FunCall":return"the return value of ("+this._getNodeName(e.name)+")";case"LookupVal":return this._getNodeName(e.target)+'["'+this._getNodeName(e.val)+'"]';case"Literal":return e.value.toString();default:return"--expression--"}},o.compileFunCall=function(e,t){this._emit("(lineno = "+e.lineno+", colno = "+e.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(e.name,t),this._emit(', "'+this._getNodeName(e.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(e.args,t,"[","])"),this._emit(")")},o.compileFilter=function(e,t){var n=e.name;this.assertType(n,s.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emit(")")},o.compileFilterAsync=function(e,t){var n=e.name,r=e.symbol.value;this.assertType(n,s.Symbol),t.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},o.compileKeywordArgs=function(e,t){this._emit("runtime.makeKeywordArgs("),this.compileDict(e,t),this._emit(")")},o.compileSet=function(e,t){var n=this,r=[];e.targets.forEach((function(e){var i=e.value,o=t.lookup(i);null==o&&(o=n._tmpid(),n._emitLine("var "+o+";")),r.push(o)})),e.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(e.value,t),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(e.body,t),this._emitLine(";")),e.targets.forEach((function(e,t){var i=r[t],o=e.value;n._emitLine('frame.set("'+o+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+o+'", '+i+");"),n._emitLine("}"),"_"!==o.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+o+'", '+i+");"),n._emitLine("}"))}))},o.compileSwitch=function(e,t){var n=this;this._emit("switch ("),this.compile(e.expr,t),this._emit(") {"),e.cases.forEach((function(e,r){n._emit("case "),n.compile(e.cond,t),n._emit(": "),n.compile(e.body,t),e.body.children.length&&n._emitLine("break;")})),e.default&&(this._emit("default:"),this.compile(e.default,t)),this._emit("}")},o.compileIf=function(e,t,n){var r=this;this._emit("if("),this._compileExpression(e.cond,t),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(e.body,t),n&&r._emit("cb()")})),e.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(e.else_,t),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},o.compileIfAsync=function(e,t){this._emit("(function(cb) {"),this.compileIf(e,t,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},o._emitLoopBindings=function(e,t,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(e){i._emitLine('frame.set("loop.'+e.name+'", '+e.val+");")}))},o.compileFor=function(e,t){var n=this,r=this._tmpid(),i=this._tmpid(),o=this._tmpid();if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+o+" = "),this._compileExpression(e.arr,t),this._emitLine(";"),this._emit("if("+o+") {"),this._emitLine(o+" = runtime.fromIterator("+o+");"),e.name instanceof s.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+o+")) {"),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),e.name.children.forEach((function(i,s){var a=n._tmpid();n._emitLine("var "+a+" = "+o+"["+r+"]["+s+"];"),n._emitLine('frame.set("'+i+'", '+o+"["+r+"]["+s+"]);"),t.set(e.name.children[s].value,a)})),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("} else {");var a=e.name.children,c=a[0],u=a[1],l=this._tmpid(),h=this._tmpid();t.set(c.value,l),t.set(u.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+o+").length;"),this._emitLine("for(var "+l+" in "+o+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+o+"["+l+"];"),this._emitLine('frame.set("'+c.value+'", '+l+");"),this._emitLine('frame.set("'+u.value+'", '+h+");"),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("}")}else{var f=this._tmpid();t.set(e.name.value,f),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),this._emitLine("var "+f+" = "+o+"["+r+"];"),this._emitLine('frame.set("'+e.name.value+'", '+f+");"),this._emitLoopBindings(e,o,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}")}this._emitLine("}"),e.else_&&(this._emitLine("if (!"+i+") {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o._compileAsyncLoop=function(e,t,n){var r=this,i=this._tmpid(),o=this._tmpid(),a=this._tmpid(),c=n?"asyncAll":"asyncEach";if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+a+" = runtime.fromIterator("),this._compileExpression(e.arr,t),this._emitLine(");"),e.name instanceof s.Array){var u=e.name.children.length;this._emit("runtime."+c+"("+a+", "+u+", function("),e.name.children.forEach((function(e){r._emit(e.value+",")})),this._emit(i+","+o+",next) {"),e.name.children.forEach((function(e){var n=e.value;t.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=e.name.value;this._emitLine("runtime."+c+"("+a+", 1, function("+l+", "+i+", "+o+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),t.set(l,l)}this._emitLoopBindings(e,a,i,o),this._withScopedSyntax((function(){var o;n&&(o=r._pushBuffer()),r.compile(e.body,t),r._emitLine("next("+i+(o?","+o:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),e.else_&&(this._emitLine("if (!"+a+".length) {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o.compileAsyncEach=function(e,t){this._compileAsyncLoop(e,t)},o.compileAsyncAll=function(e,t){this._compileAsyncLoop(e,t,!0)},o._compileMacro=function(e,t){var n=this,r=[],i=null,o="macro_"+this._tmpid(),a=void 0!==t;e.args.children.forEach((function(t,o){o===e.args.children.length-1&&t instanceof s.Dict?i=t:(n.assertType(t,s.Symbol),r.push(t))}));var u,l=[].concat(r.map((function(e){return"l_"+e.value})),["kwargs"]),h=r.map((function(e){return'"'+e.value+'"'})),f=(i&&i.children||[]).map((function(e){return'"'+e.key.value+'"'}));u=a?t.push(!0):new c,this._emitLines("var "+o+" = runtime.makeMacro(","["+h.join(", ")+"], ","["+f.join(", ")+"], ","function ("+l.join(", ")+") {","var callerFrame = frame;","frame = "+(a?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(e){n._emitLine('frame.set("'+e.value+'", l_'+e.value+");"),u.set(e.value,"l_"+e.value)})),i&&i.children.forEach((function(e){var t=e.key.value;n._emit('frame.set("'+t+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+t+'")'),n._emit(' ? kwargs["'+t+'"] : '),n._compileExpression(e.value,u),n._emit(");")}));var p=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(e.body,u)})),this._emitLine("frame = "+(a?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+p+");"),this._emitLine("});"),this._popBuffer(),o},o.compileMacro=function(e,t){var n=this._compileMacro(e),r=e.name.value;t.set(r,n),t.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==e.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},o.compileCaller=function(e,t){this._emit("(function (){");var n=this._compileMacro(e,t);this._emit("return "+n+";})()")},o._compileGetTemplate=function(e,t,n,r){var i=this._tmpid(),o=this._templateName(),s=this._makeCallback(i),a=n?"true":"false",c=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(e.template,t),this._emitLine(", "+a+", "+o+", "+c+", "+s),i},o.compileImport=function(e,t){var n=e.target.value,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.set(n,r),t.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},o.compileFromImport=function(e,t){var n=this,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.names.children.forEach((function(e){var i,o,a=n._tmpid();e instanceof s.Pair?(i=e.key.value,o=e.value.value):o=i=e.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+a+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),t.set(o,a),t.parent?n._emitLine('frame.set("'+o+'", '+a+");"):n._emitLine('context.setVariable("'+o+'", '+a+");")}))},o.compileBlock=function(e){var t=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+e.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(t)),this._emitLine(this.buffer+" += "+t+";"),this._addScopeLevel()},o.compileSuper=function(e,t){var n=e.blockName.value,r=e.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),t.set(r,r)},o.compileExtends=function(e,t){var n=this._tmpid(),r=this._compileGetTemplate(e,t,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},o.compileInclude=function(e,t){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(e,t,!1,e.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},o.compileTemplateData=function(e,t){this.compileLiteral(e,t)},o.compileCapture=function(e,t){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},o.compileOutput=function(e,t){var n=this;e.children.forEach((function(r){r instanceof s.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,t),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,t),n.throwOnUndefined&&n._emit(","+e.lineno+","+e.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},o.compileRoot=function(e,t){var n=this;t&&this.fail("compileRoot: root node can't have frame"),t=new c,this._emitFuncBegin(e,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(e,t),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=e.findAll(s.Block);i.forEach((function(e,t){var i=e.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(e,"b_"+i);var o=new c;n._emitLine("var frame = frame.push(true);"),n.compile(e.body,o),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(e,t){var r="b_"+e.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},o.compile=function(e,t){var n=this["compile"+e.typename];n?n.call(this,e,t):this.fail("compile: Cannot compile node: "+e.typename,e.lineno,e.colno)},o.getCode=function(){return this.codebuf.join("")},i}(u);e.exports={compile:function(e,t,n,r,s){void 0===s&&(s={});var a=new h(r,s.throwOnUndefined),c=(n||[]).map((function(e){return e.preprocess})).filter((function(e){return!!e})).reduce((function(e,t){return t(e)}),e);return a.compile(o.transform(i.parse(c,n,s),t,r)),a.getCode()},Compiler:h}},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=n(4),o=n(1).EmitterObj;e.exports=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var s=o.prototype;return s.resolve=function(e,t){return i.resolve(i.dirname(e),t)},s.isRelative=function(e){return 0===e.indexOf("./")||0===e.indexOf("../")},o}(o)},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}var o=n(12),s=n(15),a=n(0),c=n(5),u=n(18),l=n(10),h=l.FileSystemLoader,f=l.WebLoader,p=l.PrecompiledLoader,d=n(20),m=n(21),y=n(1),v=y.Obj,g=y.EmitterObj,_=n(2),b=_.handleError,w=_.Frame,x=n(22);function k(e,t,n){o((function(){e(t,n)}))}var E={type:"code",obj:{root:function(e,t,n,r,i){try{i(null,"")}catch(e){i(b(e,null,null))}}}},S=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.init=function(e,t){var n=this;t=this.opts=t||{},this.opts.dev=!!t.dev,this.opts.autoescape=null==t.autoescape||t.autoescape,this.opts.throwOnUndefined=!!t.throwOnUndefined,this.opts.trimBlocks=!!t.trimBlocks,this.opts.lstripBlocks=!!t.lstripBlocks,this.loaders=[],e?this.loaders=a.isArray(e)?e:[e]:h?this.loaders=[new h("views")]:f&&(this.loaders=[new f("/views")]),"undefined"!=typeof window&&window.nunjucksPrecompiled&&this.loaders.unshift(new p(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=m(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],a._entries(u).forEach((function(e){var t=e[0],r=e[1];return n.addFilter(t,r)})),a._entries(d).forEach((function(e){var t=e[0],r=e[1];return n.addTest(t,r)}))},n._initLoaders=function(){var e=this;this.loaders.forEach((function(t){t.cache={},"function"==typeof t.on&&(t.on("update",(function(n,r){t.cache[n]=null,e.emit("update",n,r,t)})),t.on("load",(function(n,r){e.emit("load",n,r,t)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(e){e.cache={}}))},n.addExtension=function(e,t){return t.__name=e,this.extensions[e]=t,this.extensionsList.push(t),this},n.removeExtension=function(e){var t=this.getExtension(e);t&&(this.extensionsList=a.without(this.extensionsList,t),delete this.extensions[e])},n.getExtension=function(e){return this.extensions[e]},n.hasExtension=function(e){return!!this.extensions[e]},n.addGlobal=function(e,t){return this.globals[e]=t,this},n.getGlobal=function(e){if(void 0===this.globals[e])throw new Error("global not found: "+e);return this.globals[e]},n.addFilter=function(e,t,n){var r=t;return n&&this.asyncFilters.push(e),this.filters[e]=r,this},n.getFilter=function(e){if(!this.filters[e])throw new Error("filter not found: "+e);return this.filters[e]},n.addTest=function(e,t){return this.tests[e]=t,this},n.getTest=function(e){if(!this.tests[e])throw new Error("test not found: "+e);return this.tests[e]},n.resolveTemplate=function(e,t,n){return e.isRelative&&t&&e.isRelative(n)&&e.resolve?e.resolve(t,n):n},n.getTemplate=function(e,t,n,r,i){var o,s=this,c=this,u=null;if(e&&e.raw&&(e=e.raw),a.isFunction(n)&&(i=n,n=null,t=t||!1),a.isFunction(t)&&(i=t,t=!1),e instanceof A)u=e;else{if("string"!=typeof e)throw new Error("template names must be a string: "+e);for(var l=0;l0&&!this.skip(i.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",e.lineno,e.colno);var a=this.parsePrimary();if("_"===a.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",a.lineno,a.colno),this.skipSymbol("as")){var c=this.parsePrimary();r.addChild(new o.Pair(a.lineno,a.colno,a,c))}else r.addChild(a);n=this.parseWithContext()}return new o.FromImport(e.lineno,e.colno,t,r,n)},c.parseBlock=function(){var e=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",e.lineno,e.colno);var t=new o.Block(e.lineno,e.colno);t.name=this.parsePrimary(),t.name instanceof o.Symbol||this.fail("parseBlock: variable name expected",e.lineno,e.colno),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(t.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),t},c.parseExtends=function(){var e="extends",t=this.peekToken();this.skipSymbol(e)||this.fail("parseTemplateRef: expected "+e);var n=new o.Extends(t.lineno,t.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n},c.parseInclude=function(){var e="include",t=this.peekToken();this.skipSymbol(e)||this.fail("parseInclude: expected "+e);var n=new o.Include(t.lineno,t.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(t.value),n},c.parseIf=function(){var e,t=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?e=new o.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?e=new o.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),e.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":e.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),e.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":e.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return e},c.parseSet=function(){var e=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",e.lineno,e.colno);for(var t,n=new o.Set(e.lineno,e.colno,[]);(t=this.parsePrimary())&&(n.targets.push(t),this.skip(i.TOKEN_COMMA)););return this.skipValue(i.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(e.value)):this.skip(i.TOKEN_BLOCK_END)?(n.body=new o.Capture(e.lineno,e.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",e.lineno,e.colno),n},c.parseSwitch=function(){var e="switch",t="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(e)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var s=this.parseExpression();this.advanceAfterBlockEnd(e),this.parseUntilBlocks(n,r,t);var a,c=this.peekToken(),u=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(e);var h=this.parseUntilBlocks(n,r,t);u.push(new o.Case(c.line,c.col,l,h)),c=this.peekToken()}while(c&&c.value===n);switch(c.value){case r:this.advanceAfterBlockEnd(),a=this.parseUntilBlocks(t),this.advanceAfterBlockEnd();break;case t:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new o.Switch(i.lineno,i.colno,s,u,a)},c.parseStatement=function(){var e=this.peekToken();if(e.type!==i.TOKEN_SYMBOL&&this.fail("tag name expected",e.lineno,e.colno),this.breakOnBlocks&&-1!==a.indexOf(this.breakOnBlocks,e.value))return null;switch(e.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var t=0;t0;){var c=s[0],u=s[1],l=s[2];l===e?r+=1:l===t&&(r-=1),0===r?(i+=u,this.tokens.backN(c.length-u.length)):i+=c}return new o.Output(a.lineno,a.colno,[new o.TemplateData(a.lineno,a.colno,i)])},c.parsePostfix=function(e){for(var t,n=this.peekToken();n;){if(n.type===i.TOKEN_LEFT_PAREN)e=new o.FunCall(n.lineno,n.colno,e,this.parseSignature());else if(n.type===i.TOKEN_LEFT_BRACKET)(t=this.parseAggregate()).children.length>1&&this.fail("invalid index"),e=new o.LookupVal(n.lineno,n.colno,e,t.children[0]);else{if(n.type!==i.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==i.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),t=new o.Literal(r.lineno,r.colno,r.value),e=new o.LookupVal(n.lineno,n.colno,e,t)}n=this.peekToken()}return e},c.parseExpression=function(){return this.parseInlineIf()},c.parseInlineIf=function(){var e=this.parseOr();if(this.skipSymbol("if")){var t=this.parseOr(),n=e;(e=new o.InlineIf(e.lineno,e.colno)).body=n,e.cond=t,this.skipSymbol("else")?e.else_=this.parseOr():e.else_=null}return e},c.parseOr=function(){for(var e=this.parseAnd();this.skipSymbol("or");){var t=this.parseAnd();e=new o.Or(e.lineno,e.colno,e,t)}return e},c.parseAnd=function(){for(var e=this.parseNot();this.skipSymbol("and");){var t=this.parseNot();e=new o.And(e.lineno,e.colno,e,t)}return e},c.parseNot=function(){var e=this.peekToken();return this.skipSymbol("not")?new o.Not(e.lineno,e.colno,this.parseNot()):this.parseIn()},c.parseIn=function(){for(var e=this.parseIs();;){var t=this.nextToken();if(!t)break;var n=t.type===i.TOKEN_SYMBOL&&"not"===t.value;if(n||this.pushToken(t),!this.skipSymbol("in")){n&&this.pushToken(t);break}var r=this.parseIs();e=new o.In(e.lineno,e.colno,e,r),n&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseIs=function(){var e=this.parseCompare();if(this.skipSymbol("is")){var t=this.skipSymbol("not"),n=this.parseCompare();e=new o.Is(e.lineno,e.colno,e,n),t&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseCompare=function(){for(var e=["==","===","!=","!==","<",">","<=",">="],t=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===e.indexOf(r.value)){this.pushToken(r);break}n.push(new o.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new o.Compare(n[0].lineno,n[0].colno,t,n):t},c.parseConcat=function(){for(var e=this.parseAdd();this.skipValue(i.TOKEN_TILDE,"~");){var t=this.parseAdd();e=new o.Concat(e.lineno,e.colno,e,t)}return e},c.parseAdd=function(){for(var e=this.parseSub();this.skipValue(i.TOKEN_OPERATOR,"+");){var t=this.parseSub();e=new o.Add(e.lineno,e.colno,e,t)}return e},c.parseSub=function(){for(var e=this.parseMul();this.skipValue(i.TOKEN_OPERATOR,"-");){var t=this.parseMul();e=new o.Sub(e.lineno,e.colno,e,t)}return e},c.parseMul=function(){for(var e=this.parseDiv();this.skipValue(i.TOKEN_OPERATOR,"*");){var t=this.parseDiv();e=new o.Mul(e.lineno,e.colno,e,t)}return e},c.parseDiv=function(){for(var e=this.parseFloorDiv();this.skipValue(i.TOKEN_OPERATOR,"/");){var t=this.parseFloorDiv();e=new o.Div(e.lineno,e.colno,e,t)}return e},c.parseFloorDiv=function(){for(var e=this.parseMod();this.skipValue(i.TOKEN_OPERATOR,"//");){var t=this.parseMod();e=new o.FloorDiv(e.lineno,e.colno,e,t)}return e},c.parseMod=function(){for(var e=this.parsePow();this.skipValue(i.TOKEN_OPERATOR,"%");){var t=this.parsePow();e=new o.Mod(e.lineno,e.colno,e,t)}return e},c.parsePow=function(){for(var e=this.parseUnary();this.skipValue(i.TOKEN_OPERATOR,"**");){var t=this.parseUnary();e=new o.Pow(e.lineno,e.colno,e,t)}return e},c.parseUnary=function(e){var t,n=this.peekToken();return t=this.skipValue(i.TOKEN_OPERATOR,"-")?new o.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(i.TOKEN_OPERATOR,"+")?new o.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),e||(t=this.parseFilter(t)),t},c.parsePrimary=function(e){var t,n=this.nextToken(),r=null;if(n?n.type===i.TOKEN_STRING?t=n.value:n.type===i.TOKEN_INT?t=parseInt(n.value,10):n.type===i.TOKEN_FLOAT?t=parseFloat(n.value):n.type===i.TOKEN_BOOLEAN?"true"===n.value?t=!0:"false"===n.value?t=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===i.TOKEN_NONE?t=null:n.type===i.TOKEN_REGEX&&(t=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==t?r=new o.Literal(n.lineno,n.colno,t):n.type===i.TOKEN_SYMBOL?r=new o.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),e||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},c.parseFilterName=function(){for(var e=this.expect(i.TOKEN_SYMBOL),t=e.value;this.skipValue(i.TOKEN_OPERATOR,".");)t+="."+this.expect(i.TOKEN_SYMBOL).value;return new o.Symbol(e.lineno,e.colno,t)},c.parseFilterArgs=function(e){return this.peekToken().type===i.TOKEN_LEFT_PAREN?this.parsePostfix(e).args.children:[]},c.parseFilter=function(e){for(;this.skip(i.TOKEN_PIPE);){var t=this.parseFilterName();e=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[e].concat(this.parseFilterArgs(e))))}return e},c.parseFilterStatement=function(){var e=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var t=this.parseFilterName(),n=this.parseFilterArgs(t);this.advanceAfterBlockEnd(e.value);var r=new o.Capture(t.lineno,t.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[r].concat(n)));return new o.Output(t.lineno,t.colno,[i])},c.parseAggregate=function(){var e,t=this.nextToken();switch(t.type){case i.TOKEN_LEFT_PAREN:e=new o.Group(t.lineno,t.colno);break;case i.TOKEN_LEFT_BRACKET:e=new o.Array(t.lineno,t.colno);break;case i.TOKEN_LEFT_CURLY:e=new o.Dict(t.lineno,t.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===i.TOKEN_RIGHT_PAREN||n===i.TOKEN_RIGHT_BRACKET||n===i.TOKEN_RIGHT_CURLY){this.nextToken();break}if(e.children.length>0&&(this.skip(i.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),e instanceof o.Dict){var r=this.parsePrimary();this.skip(i.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var s=this.parseExpression();e.addChild(new o.Pair(r.lineno,r.colno,r,s))}else{var a=this.parseExpression();e.addChild(a)}}return e},c.parseSignature=function(e,t){var n=this.peekToken();if(!t&&n.type!==i.TOKEN_LEFT_PAREN){if(e)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===i.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new o.NodeList(n.lineno,n.colno),s=new o.KeywordArgs(n.lineno,n.colno),a=!1;;){if(n=this.peekToken(),!t&&n.type===i.TOKEN_RIGHT_PAREN){this.nextToken();break}if(t&&n.type===i.TOKEN_BLOCK_END)break;if(a&&!this.skip(i.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var c=this.parseExpression();this.skipValue(i.TOKEN_OPERATOR,"=")?s.addChild(new o.Pair(c.lineno,c.colno,c,this.parseExpression())):r.addChild(c)}a=!0}return s.children.length&&r.addChild(s),r},c.parseUntilBlocks=function(){for(var e=this.breakOnBlocks,t=arguments.length,n=new Array(t),r=0;r=","//","**"],j=C+this.current();switch(-1!==r.indexOf(M,j)&&(this.forward(),C=j,-1!==r.indexOf(M,j+this.current())&&(C=j+this.current(),this.forward())),C){case"(":D=d;break;case")":D=m;break;case"[":D=y;break;case"]":D=v;break;case"{":D=g;break;case"}":D=_;break;case",":D=w;break;case":":D=x;break;case"~":D=k;break;case"|":D=E;break;default:D=b}return P(D,C,t,n)}if((e=this._extractUntil(i+o)).match(/^[-+]?[0-9]+$/)){if("."===this.current()){this.forward();var F=this._extract("0123456789");return P(S,e+"."+F,t,n)}return P("int",e,t,n)}if(e.match(/^(true|false)$/))return P(T,e,t,n);if("none"===e)return P(A,e,t,n);if("null"===e)return P(A,e,t,n);if(e)return P(O,e,t,n);throw new Error("Unexpected value while parsing: "+e)}var B,z=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((e=this._extractString(this.tags.BLOCK_START+"-"))||(e=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,P(u,e,t,n);if((e=this._extractString(this.tags.VARIABLE_START+"-"))||(e=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,P(h,e,t,n);e="";var U=!1;for(this._matches(this.tags.COMMENT_START)&&(U=!0,e=this._extractString(this.tags.COMMENT_START));null!==(B=this._extractUntil(z));){if(e+=B,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!U){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=e.length){var V=e.slice(-this.colno);if(/^\s+$/.test(V)&&!(e=e.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!U)throw new Error("unexpected end of comment");e+=this._extractString(this.tags.COMMENT_END);break}e+=this.current(),this.forward()}if(null===B&&U)throw new Error("expected end of comment, got end of file");return P(U?p:c,e,t,n)},t._parseString=function(e){this.forward();for(var t="";!this.isFinished()&&this.current()!==e;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":t+="\n";break;case"t":t+="\t";break;case"r":t+="\r";break;default:t+=this.current()}this.forward()}else t+=n,this.forward()}return this.forward(),t},t._matches=function(e){return this.index+e.length>this.len?null:this.str.slice(this.index,this.index+e.length)===e},t._extractString=function(e){return this._matches(e)?(this.forwardN(e.length),e):null},t._extractUntil=function(e){return this._extractMatching(!0,e||"")},t._extract=function(e){return this._extractMatching(!1,e)},t._extractMatching=function(e,t){if(this.isFinished())return null;var n=t.indexOf(this.current());if(e&&-1===n||!e&&-1!==n){var r=this.current();this.forward();for(var i=t.indexOf(this.current());(e&&-1===i||!e&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=t.indexOf(this.current());return r}return""},t._extractRegex=function(e){var t=this.currentStr().match(e);return t?(this.forwardN(t[0].length),t):null},t.isFinished=function(){return this.index>=this.len},t.forwardN=function(e){for(var t=0;t1024){for(var t=0,n=i.length-o;t0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}function d(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=y(c,u);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return d(this,e,!0)},a.prototype.rawListeners=function(e){return d(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},a.prototype.listenerCount=m,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){"use strict";var r=n(3),i=n(0),o=0;function s(){return"hole_"+o++}function a(e,t){for(var n=null,r=0;r=t)return e;var n=t-e.length,s=r.repeat(" ",n/2-n%2),a=r.repeat(" ",n/2);return i.copySafeness(e,s+e+a)},t.default=function(e,t,n){return n?e||t:void 0!==e?e:t},t.dictsort=function(e,t,n){if(!r.isObject(e))throw new r.TemplateError("dictsort filter: val must be an object");var i,o=[];for(var s in e)o.push([s,e[s]]);if(void 0===n||"key"===n)i=0;else{if("value"!==n)throw new r.TemplateError("dictsort filter: You can only sort by either key or value");i=1}return o.sort((function(e,n){var o=e[i],s=n[i];return t||(r.isString(o)&&(o=o.toUpperCase()),r.isString(s)&&(s=s.toUpperCase())),o>s?1:o===s?0:-1})),o},t.dump=function(e,t){return JSON.stringify(e,null,t)},t.escape=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(r.escape(e.toString())))},t.safe=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(e.toString()))},t.first=function(e){return e[0]},t.forceescape=function(e){return e=null==e?"":e,i.markSafe(r.escape(e.toString()))},t.groupby=function(e,t){return r.groupBy(e,t,this.env.opts.throwOnUndefined)},t.indent=function(e,t,n){if(""===(e=o(e,"")))return"";t=t||4;var s=e.split("\n"),a=r.repeat(" ",t),c=s.map((function(e,t){return 0!==t||n?""+a+e:e})).join("\n");return i.copySafeness(e,c)},t.join=function(e,t,n){return t=t||"",n&&(e=r.map(e,(function(e){return e[n]}))),e.join(t)},t.last=function(e){return e[e.length-1]},t.length=function(e){var t=o(e,"");return void 0!==t?"function"==typeof Map&&t instanceof Map||"function"==typeof Set&&t instanceof Set?t.size:!r.isObject(t)||t instanceof i.SafeString?t.length:r.keys(t).length:0},t.list=c,t.lower=function(e){return(e=o(e,"")).toLowerCase()},t.nl2br=function(e){return null==e?"":i.copySafeness(e,e.replace(/\r\n|\n/g,"
\n"))},t.random=function(e){return e[Math.floor(Math.random()*e.length)]},t.reject=u(!1),t.rejectattr=function(e,t){return e.filter((function(e){return!e[t]}))},t.select=u(!0),t.selectattr=function(e,t){return e.filter((function(e){return!!e[t]}))},t.replace=function(e,t,n,r){var o=e;if(t instanceof RegExp)return e.replace(t,n);void 0===r&&(r=-1);var s="";if("number"==typeof t)t=""+t;else if("string"!=typeof t)return e;if("number"==typeof e&&(e=""+e),"string"!=typeof e&&!(e instanceof i.SafeString))return e;if(""===t)return s=n+e.split("").join(n)+n,i.copySafeness(e,s);var a=e.indexOf(t);if(0===r||-1===a)return e;for(var c=0,u=0;a>-1&&(-1===r||u=i&&l.push(n),o.push(l)}return o},t.sum=function(e,t,n){return void 0===n&&(n=0),t&&(e=r.map(e,(function(e){return e[t]}))),n+e.reduce((function(e,t){return e+t}),0)},t.sort=i.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(e,t,n,i){var o=this,s=r.map(e,(function(e){return e})),a=r.getAttrGetter(i);return s.sort((function(e,s){var c=i?a(e):e,u=i?a(s):s;if(o.env.opts.throwOnUndefined&&i&&(void 0===c||void 0===u))throw new TypeError('sort: attribute "'+i+'" resolved to undefined');return!n&&r.isString(c)&&r.isString(u)&&(c=c.toLowerCase(),u=u.toLowerCase()),cu?t?-1:1:0})),s})),t.string=function(e){return i.copySafeness(e,e)},t.striptags=function(e,t){var n,r=l((e=o(e,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,""));return n=t?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),i.copySafeness(e,n)},t.title=function(e){var t=(e=o(e,"")).split(" ").map((function(e){return a(e)}));return i.copySafeness(e,t.join(" "))},t.trim=l,t.truncate=function(e,t,n,r){var s=e;if(t=t||255,(e=o(e,"")).length<=t)return e;if(n)e=e.substring(0,t);else{var a=e.lastIndexOf(" ",t);-1===a&&(a=t),e=e.substring(0,a)}return e+=null!=r?r:"...",i.copySafeness(s,e)},t.upper=function(e){return(e=o(e,"")).toUpperCase()},t.urlencode=function(e){var t=encodeURIComponent;return r.isString(e)?t(e):(r.isArray(e)?e:r._entries(e)).map((function(e){var n=e[0],r=e[1];return t(n)+"="+t(r)})).join("&")};var h=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,f=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,p=/^https?:\/\/.*$/,d=/^www\./,m=/\.(?:org|net|com)(?:\:|\/|$)/;t.urlize=function(e,t,n){s(t)&&(t=1/0);var r=!0===n?' rel="nofollow"':"";return e.split(/(\s+)/).filter((function(e){return e&&e.length})).map((function(e){var n=e.match(h),i=n?n[1]:e,o=i.substr(0,t);return p.test(i)?'"+o+"":d.test(i)?'"+o+"":f.test(i)?''+i+"":m.test(i)?'"+o+"":e})).join("")},t.wordcount=function(e){var t=(e=o(e,""))?e.match(/\w+/g):null;return t?t.length:null},t.float=function(e,t){var n=parseFloat(e);return s(n)?t:n};var y=i.makeMacro(["value","default","base"],[],(function(e,t,n){void 0===n&&(n=10);var r=parseInt(e,n);return s(r)?t:r}));t.int=y,t.d=t.default,t.e=t.escape},function(e,t,n){"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}var i=function(e){var t,n;function i(t){var n;return(n=e.call(this)||this).precompiled=t||{},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n),i.prototype.getSource=function(e){return this.precompiled[e]?{src:{type:"code",obj:this.precompiled[e]},path:e}:null},i}(n(6));e.exports={PrecompiledLoader:i}},function(e,t,n){"use strict";var r=n(2).SafeString;t.callable=function(e){return"function"==typeof e},t.defined=function(e){return void 0!==e},t.divisibleby=function(e,t){return e%t==0},t.escaped=function(e){return e instanceof r},t.equalto=function(e,t){return e===t},t.eq=t.equalto,t.sameas=t.equalto,t.even=function(e){return e%2==0},t.falsy=function(e){return!e},t.ge=function(e,t){return e>=t},t.greaterthan=function(e,t){return e>t},t.gt=t.greaterthan,t.le=function(e,t){return e<=t},t.lessthan=function(e,t){return e0)for(var i=e;it;o+=n)r.push(o);return r},cycler:function(){return e=Array.prototype.slice.call(arguments),t=-1,{current:null,reset:function(){t=-1,this.current=null},next:function(){return++t>=e.length&&(t=0),this.current=e[t],this.current}};var e,t},joiner:function(e){return function(e){e=e||",";var t=!0;return function(){var n=t?"":e;return t=!1,n}}(e)}}}},function(e,t,n){var r=n(4);e.exports=function(e,t){function n(e,t){if(this.name=e,this.path=e,this.defaultEngine=t.defaultEngine,this.ext=r.extname(e),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=("."!==this.defaultEngine[0]?".":"")+this.defaultEngine)}return n.prototype.render=function(t,n){e.render(this.name,t,n)},t.set("view",n),t.set("nunjucksEnv",e),e}},function(e,t,n){"use strict";var r=n(4),i=n(4),o=n(0)._prettifyError,s=n(5),a=n(7).Environment,c=n(24);function u(e,t){return!!Array.isArray(t)&&t.some((function(t){return e.match(t)}))}function l(e,t){(t=t||{}).isString=!0;var n=t.env||new a([]),r=t.wrapper||c;if(!t.name)throw new Error('the "name" option is required when compiling a string');return r([h(e,t.name,n)],t)}function h(e,t,n){var r,i=(n=n||new a([])).asyncFilters,c=n.extensionsList;t=t.replace(/\\/g,"/");try{r=s.compile(e,i,c,t,n.opts)}catch(e){throw o(t,!1,e)}return{name:t,template:r}}e.exports={precompile:function(e,t){var n=(t=t||{}).env||new a([]),o=t.wrapper||c;if(t.isString)return l(e,t);var s=r.existsSync(e)&&r.statSync(e),f=[],p=[];if(s.isFile())f.push(h(r.readFileSync(e,"utf-8"),t.name||e,n));else if(s.isDirectory()){!function n(o){r.readdirSync(o).forEach((function(s){var a=i.join(o,s),c=a.substr(i.join(e,"/").length),l=r.statSync(a);l&&l.isDirectory()?u(c+="/",t.exclude)||n(a):u(c,t.include)&&p.push(a)}))}(e);for(var d=0;de.length||i>0&&s>=r||i<0&&s<=r);s+=i)o.push(n.memberLookup(e,s));return o}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var d={pop:function(e){if(void 0===e)return this.pop();if(e>=this.length||e<0)throw new Error("KeyError");return this.splice(e,1)},append:function(e){return this.push(e)},remove:function(e){for(var t=0;t1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,y=String.fromCharCode;function v(e){throw new RangeError(d[e])}function g(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+function(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}((e=e.replace(p,".")).split("."),t).join(".")}function _(e){for(var t=[],n=0,r=e.length;n=55296&&i<=56319&&n>1,e+=m(e/t);e>455;r+=l)e=m(e/35);return m(r+36*e/(e+38))},x=function(e){var t,n=[],r=e.length,i=0,o=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var c=0;c=128&&v("not-basic"),n.push(e.charCodeAt(c));for(var h=a>0?a+1:0;h=r&&v("invalid-input");var y=(t=e.charCodeAt(h++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:l;(y>=l||y>m((u-i)/p))&&v("overflow"),i+=y*p;var g=d<=s?1:d>=s+26?26:d-s;if(ym(u/_)&&v("overflow"),p*=_}var b=n.length+1;s=w(i-f,b,0==f),m(i/b)>u-o&&v("overflow"),o+=m(i/b),i%=b,n.splice(i++,0,o)}return String.fromCodePoint.apply(String,n)},k=function(e){var t=[],n=(e=_(e)).length,r=128,i=0,o=72,s=!0,a=!1,c=void 0;try{for(var h,f=e[Symbol.iterator]();!(s=(h=f.next()).done);s=!0){var p=h.value;p<128&&t.push(y(p))}}catch(e){a=!0,c=e}finally{try{!s&&f.return&&f.return()}finally{if(a)throw c}}var d=t.length,g=d;for(d&&t.push("-");g=r&&Om((u-i)/N)&&v("overflow"),i+=(x-r)*N,r=x;var P=!0,C=!1,R=void 0;try{for(var L,I=e[Symbol.iterator]();!(P=(L=I.next()).done);P=!0){var D=L.value;if(Du&&v("overflow"),D==r){for(var M=i,j=l;;j+=l){var F=j<=o?1:j>=o+26?26:j-o;if(M>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function A(e){for(var t="",n=0,r=e.length;n=194&&i<224){if(r-n>=6){var o=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((31&i)<<6|63&o)}else t+=e.substr(n,6);n+=6}else if(i>=224){if(r-n>=9){var s=parseInt(e.substr(n+4,2),16),a=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function O(e,t){function n(e){var n=A(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,T).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,T).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,T).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,T).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,T).replace(t.PCT_ENCODED,i)),e}function N(e){return e.replace(/^0*(.*)/,"$1")||"0"}function P(e,t){var n=e.match(t.IPV4ADDRESS)||[],r=c(n,2)[1];return r?r.split(".").map(N).join("."):e}function C(e,t){var n=e.match(t.IPV6ADDRESS)||[],r=c(n,3),i=r[1],o=r[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=c(s,2),u=a[0],l=a[1],h=l?l.split(":").map(N):[],f=u.split(":").map(N),p=t.IPV4ADDRESS.test(f[f.length-1]),d=p?7:8,m=f.length-d,y=Array(d),v=0;v1){var b=y.slice(0,g.index),w=y.slice(g.index+g.length);_=b.join(":")+"::"+w.join(":")}else _=y.join(":");return o&&(_+="%"+o),_}return e}var R=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,L=void 0==="".match(/(){0}/)[1];function I(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(R);if(i){L?(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5])):(n.scheme=i[1]||void 0,n.userinfo=-1!==e.indexOf("@")?i[3]:void 0,n.host=-1!==e.indexOf("//")?i[4]:void 0,n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=-1!==e.indexOf("?")?i[7]:void 0,n.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),n.host&&(n.host=C(P(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==n.reference&&(n.error=n.error||"URI is not a "+t.reference+" reference.");var o=S[(t.scheme||n.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)O(n,r);else{if(n.host&&(t.domainHost||o&&o.domainHost))try{n.host=E.toASCII(n.host.replace(r.PCT_ENCODED,A).toLowerCase())}catch(e){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(n,s)}o&&o.parse&&o.parse(n,t)}else n.error=n.error||"URI can not be parsed.";return n}var D=/^\.\.?\//,M=/^\/\.(\/|$)/,j=/^\/\.\.(\/|$)/,F=/^\/?(?:.|\n)*?(?=\/|$)/;function B(e){for(var t=[];e.length;)if(e.match(D))e=e.replace(D,"");else if(e.match(M))e=e.replace(M,"/");else if(e.match(j))e=e.replace(j,"/"),t.pop();else if("."===e||".."===e)e="";else{var n=e.match(F);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];e=e.slice(r.length),t.push(r)}return t.join("")}function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.iri?a:s,r=[],i=S[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(n.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?E.toUnicode(e.host):E.toASCII(e.host.replace(n.PCT_ENCODED,A).toLowerCase())}catch(n){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+n}O(e,n),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=function(e,t){var n=!1!==t.iri?a:s,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(C(P(String(e.host),n),n).replace(n.IPV6ADDRESS,(function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}(e,t);if(void 0!==o&&("suffix"!==t.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var c=e.path;t.absolutePath||i&&i.absolutePath||(c=B(c)),void 0===o&&(c=c.replace(/^\/\//,"/%2F")),r.push(c)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function U(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=I(z(e,n),n),t=I(z(t,n),n)),!(n=n||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=B(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=B(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=B(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=B(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,A)}var $={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var n="https"===String(e.scheme).toLowerCase();return e.port!==(n?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},q={scheme:"https",domainHost:$.domainHost,parse:$.parse,serialize:$.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var H={scheme:"ws",domainHost:!0,parse:function(e,t){var n=e;return n.secure=K(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var n=e.resourceName.split("?"),r=c(n,2),i=r[0],o=r[1];e.path=i&&"/"!==i?i:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},W={scheme:"wss",domainHost:H.domainHost,parse:H.parse,serialize:H.serialize},G={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",X=n(n("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+n("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+n("%"+Q+Q)),Z=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),J=new RegExp(Y,"g"),ee=new RegExp(X,"g"),te=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Z),"g"),ne=new RegExp(t("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),re=ne;function ie(e){var t=A(e);return t.match(J)?t:e}var oe={scheme:"mailto",parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var i=!1,o={},s=n.query.split("&"),a=0,c=s.length;a{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},680:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{default:()=>mn});var e=n(181),t=n(96),i=n.n(t);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{blockType:null,provider:null};return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=u(this,t,[a(a({},n),{},{width:96,height:80,minWidth:96,minHeight:80,containerMargin:6})])).blockType=n.blockType||null,e.provider=n.provider||null,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(e.ComponentDefinition);function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function m(e,t,n){return t=v(t),function(e,t){if(t&&("object"===d(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,y()?Reflect.construct(t,n||[],v(e).constructor):t.apply(e,n))}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(y=function(){return!!e})()}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function g(e,t){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},g(e,t)}const _=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{linkAttribute:"id"};return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=m(this,t,[n])).linkAttribute=n.linkAttribute||"id",e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(e.ComponentAttributeDefinition),b={$id:"https://ditrit.io/schemas",type:"object",properties:{name:{type:"string"},model:{type:"string"},icon:{type:"string"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},data:{type:"array",items:{$ref:"#/definitions/data"}},modules:{type:"array",items:{$ref:"#/definitions/module"}},resources:{type:"array",items:{$ref:"#/definitions/resource"}},variables:{type:"array",items:{$ref:"#/definitions/variable"}},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["name","attributes","data","modules","resources","variables"],definitions:{defaultObject:{type:"object",properties:{type:{type:"string"},model:{type:"string"},icon:{type:"string"},isContainer:{type:"boolean"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["type","attributes"]},attribute:{type:"object",properties:{name:{type:"string"},type:{type:"string",pattern:"(String|Boolean|Number|Array|Object|Link|Reference)"},required:{type:"boolean"},linkType:{type:"string",pattern:"(Default|Reverse)"},linkRef:{type:"string"},containerRef:{type:"string"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},rules:{$ref:"#/definitions/rule"},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["name","type"]},rule:{type:"object",properties:{values:{type:"array",items:{type:"string"}},min:{type:"integer"},max:{type:"integer"},regex:{type:"string"}}},data:{$ref:"#/definitions/defaultObject"},module:{$ref:"#/definitions/defaultObject"},resource:{$ref:"#/definitions/defaultObject"},variable:{$ref:"#/definitions/defaultObject"}}},w={aws:JSON.parse('{"name":"aws","displayName":"AWS provider","description":"Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS.","icon":"aws","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs","attributes":[{"name":"region","displayName":"Region","description":"AWS service endpoints","required":true,"type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/rande.html"},{"name":"skip_region_validation","displayName":"Skip region validation","description":"Define if region validation should be skipped or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_region_validation"},{"name":"access_key","displayName":"Access key","description":"The ID of the access key to allow Terraform requests to authenticate with.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"secret_key","displayName":"Secret key","description":"The secret key to allow Terraform requests to authenticate with.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"token","displayName":"Token","description":"Used to validate session temporary credentials.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"allowed_account_ids","displayName":"Allowed Account IDs","description":"List of allowed AWS account IDs to prevent you from mistakenly
using an incorrect one (and potentially end up destroying a live environment).","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#allowed_account_ids"},{"name":"forbidden_account_ids","displayName":"Forbidden Account IDs","description":"List of forbidden AWS account IDs to prevent you from mistakenly
using an incorrect one (and potentially end up destroying a live environment).","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#forbidden_account_ids"},{"name":"skip_requesting_account_id","displayName":"Skip requesting account ID","description":"Whether to skip requesting the account ID or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_requesting_account_id"},{"name":"custom_ca_bundle","displayName":"Custom Certificate Authority (CA) bundle","description":"File containing custom root and intermediate certificates.","type":"String","url":"https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html"},{"name":"insecure","displayName":"Insecure","description":"Whether to explicitly allow the provider to perform \\"insecure\\" SSL requests or not.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html"},{"name":"ec2_metadata_service_endpoint","displayName":"EC2 metadata service (IMDS) endpoint","description":"Address of the EC2 metadata service (IMDS) endpoint to use.","type":"String","url":"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-ec2-imds.html"},{"name":"ec2_metadata_service_endpoint_mode","displayName":"EC2 metadata service (IMDS) endpoint mode","description":"Communication mode to use with the metadata service.","type":"String","url":"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-ec2-imds.html","rules":{"values":["IPv4","IPv6"]}},{"name":"http_proxy","displayName":"HTTP proxy","description":"Address of an HTTP proxy to use when accessing the AWS API.","type":"String","url":"https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-http.html","rules":{"regex":"[-a-zA-Z0-9@:%._\\\\+~#=]{1,256}\\\\.[a-zA-Z0-9()]{1,6}\\\\b([-a-zA-Z0-9()@:%_\\\\+.~#?&//=]*)"}},{"name":"max_retries","displayName":"Max retries","description":"Maximum number of times an API call is retried when AWS throttles requests or on transient failures.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#max_retries"},{"name":"profile","displayName":"Profile","description":"AWS profile name as set in the shared configuration and credentials files.","type":"String","url":"https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html"},{"name":"shared_config_files","displayName":"Shared config files","description":"List of paths to AWS shared config files.","type":"String","url":"https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html"},{"name":"shared_credentials_files","displayName":"Shared credentials files","description":"List of paths to the shared credentials files.","type":"String","url":"https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html"},{"name":"skip_credentials_validation","displayName":"Skip credentials validation","description":"Whether to skip credentials validation via the STS API or not.","type":"Boolean","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html"},{"name":"sts_region","displayName":"Security Token Servic (STS) region","description":"AWS region for Security Token Service (STS)","type":"String","url":"https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html"},{"name":"s3_use_path_style","displayName":"Use path-style for S3","description":"Whether to enable the request to use path-style addressing or not
i.e., https://s3.amazonaws.com/BUCKET/KEY.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html"},{"name":"skip_metadata_api_check","displayName":"Skip metadata API check","description":"Whether to skip the AWS Metadata API check or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_metadata_api_check"},{"name":"use_dualstack_endpoint","displayName":"Use dual-stack endpoint","description":"Force the provider to resolve endpoints with DualStack capability.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html"},{"name":"use_fips_endpoint","displayName":"Use FIPS endpoint","description":"Force the provider to resolve endpoints with FIPS capability.","type":"Boolean","url":"https://aws.amazon.com/compliance/fips/"},{"name":"assume_role","displayName":"Assume role","description":"Set of temporary security credentials that you can use to access AWS resources.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#assume_role","attributes":[{"name":"duration","displayName":"Duration","description":"Duration of the assume role session.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#duration"},{"name":"external_id","displayName":"External ID","description":"External identifier to use when assuming the role.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#external_id"},{"name":"policy","displayName":"Policy","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy"},{"name":"policy_arns","displayName":"Policy ARNs","description":"Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy_arns"},{"name":"role_arn","displayName":"Role ARN","description":"ARN of the IAM Role to assume. Can also be set with the AWS_ROLE_ARN environment variable.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#role_arn"},{"name":"session_name","displayName":"Session name","description":"Session name to use when assuming the role. Can also be set with the AWS_ROLE_SESSION_NAME environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#session_name"},{"name":"source_identity","displayName":"Source identity","description":"Source identity specified by the principal assuming the role.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#source_identity"},{"name":"tags","displayName":"Tags","description":"Map of assume role session tags.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#tags"},{"name":"transitive_tag_keys","displayName":"Transitive tag keys","description":"Set of assume role session tag keys to pass to any subsequent sessions.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#transitive_tag_keys"}]},{"name":"assume_role_with_web_identity","displayName":"Assume role with web identity","description":"Configuration block for assuming an IAM role using a web identity.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#assume_role_with_web_identity","attributes":[{"name":"duration","displayName":"Duration","description":"Duration of the assume role session.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#duration"},{"name":"policy","displayName":"Policy","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy"},{"name":"policy_arns","displayName":"Policy ARNs","description":"Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy_arns"},{"name":"role_arn","displayName":"Role ARN","description":"ARN of the IAM Role to assume. Can also be set with the AWS_ROLE_ARN environment variable.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#role_arn"},{"name":"session_name","displayName":"Session name","description":"Session name to use when assuming the role. Can also be set with the AWS_ROLE_SESSION_NAME environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#session_name"},{"name":"web_identity_token","displayName":"Web identity token","description":"Value of a web identity token from an OpenID Connect (OIDC) or OAuth provider. One of web_identity_token or web_identity_token_file is required.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#web_identity_token"},{"name":"web_identity_token_file","displayName":"Web identity token file","description":"File containing a web identity token from an OpenID Connect (OIDC) or OAuth provider. One of web_identity_token_file or web_identity_token is required. Can also be set with the AWS_WEB_IDENTITY_TOKEN_FILE environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#web_identity_token_file"}]},{"name":"default_tags","displayName":"Default tags","description":"You can assign metadata to your AWS resources in the form of tags.
Each tag is a label consisting of a user-defined key and value.
Tags can help you manage, identify, organize, search for, and filter resources.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html","attributes":[{"name":"tags","displayName":"Tags","description":"Key-value map of tags to apply to all resources.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#tags"}]},{"name":"ignore_tags","displayName":"Ignore tags","description":"Configuration block with resource tag settings to ignore across all resources handled by this provider
(except any individual service tag resources such as aws_ec2_tag)
for situations where external systems are managing certain resource tags.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html","attributes":[{"name":"keys","displayName":"Keys","description":"List of exact resource tag keys to ignore across all resources handled by this provider.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#keys"},{"name":"key_prefixes","displayName":"Key prefixes","description":"List of resource tag key prefixes to ignore across all resources handled by this provider.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#key_prefixes"}]},{"name":"endpoints","displayName":"Endpoints","description":"Configure the Terraform AWS Provider to use customized endpoints.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/custom-service-endpoints"}],"data":[{"type":"aws_ami","displayName":"Amazon Machine Image (AMI)","description":"An Amazon Machine Image (AMI) is a supported and maintained image provided by AWS
that provides the information required to launch an instance.","icon":"Aws_EC2_AMI","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html","attributes":[{"name":"owners","displayName":"Owners","description":"List of AMI owners to limit search.","type":"Array","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html"},{"name":"most_recent","displayName":"Most recent","description":"If more than one result is returned, use the most recent AMI.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami#most_recent"},{"name":"executable_users","displayName":"Executable users","description":"Limit search to users with explicit launch permission on the image.","type":"Array","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html"},{"name":"include_deprecated","displayName":"Include deprecated","description":"If true, all deprecated AMIs are included in the response.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html"},{"name":"name_regex","displayName":"Name regex","description":"Regex string to apply to the AMI list returned by AWS.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami#name_regex"}]},{"type":"aws_rds_engine_version","displayName":"Relational Database Service engine version","description":"Information about a Relational Database Service engine version.

Amazon Relational Database Service (Amazon RDS) is a web service
that makes it easier to set up, operate, and scale a relational database in the AWS Cloud.","icon":"Aws_RDS","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html","attributes":[{"name":"engine","displayName":"Engine","description":"A DB engine is the specific relational database software that runs on your DB instance.","required":true,"type":"String","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Concepts.DBInstance.engine","rules":{"values":["aurora","aurora-mysql","aurora-postgresql","docdb","mariadb","mysql","neptune","oracle-ee","oracle-se","oracle-se1","oracle-se2","postgres","sqlserver-ee","sqlserver-ex","sqlserver-se","sqlserver-web"]}},{"name":"default_only","displayName":"Default only","description":"When set to true, the default version for the specified engine or combination of engine and major version will be returned.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#default_only"},{"name":"version","displayName":"Version","description":"Version of the DB engine.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#version"},{"name":"preferred_versions","displayName":"Preferred versions","description":"Ordered list of preferred engine versions.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#preferred_versions"},{"name":"include_all","displayName":"Include all","description":"When set to true, the specified version or member of prefered versions will be returned even if it is deprecated.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#include_all"},{"name":"parameter_group_family","displayName":"Parameter group family","description":"Name of a specific DB parameter group family.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#parameter_group_family"}]},{"type":"aws_availability_zones","displayName":"Availability Zones","description":"The Availability Zones data source allows access to the list of AWS Availability Zones
which can be accessed by an AWS account within the region configured in the provider.

This is different from the Availability Zone (singular).","icon":"Aws_Local-Zones","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html","attributes":[{"name":"all_availability_zones","displayName":"All Availability Zones","description":"Set to true to include all Availability Zones and Local Zones regardless of your opt in status.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#all_availability_zones"},{"name":"exclude_names","displayName":"Exclude names","description":"List of Availability Zone names to exclude.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#exclude_names"},{"name":"exclude_zone_ids","displayName":"Exclude zone IDs","description":"List of Availability Zone IDs to exclude.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#exclude_zone_ids"},{"name":"state","displayName":"State","description":"Allows to filter list of Availability Zones based on their current state.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#state","rules":{"values":["available","impaired","information","unavailable"]}}]}],"modules":[{"type":"server","displayName":"Server","icon":"Aws_Servers","model":"DefaultModel"}],"resources":[{"type":"aws_security_group","displayName":"Security group","description":"A security group controls the traffic that is allowed to reach and leave the resources that it is associated with.","icon":"AwsSecurityGroup","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html","attributes":[{"name":"description","displayName":"Description","description":"Description of the security group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#description"},{"name":"name","displayName":"Name","description":"Name of the security group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#name_prefix"},{"name":"revoke_rules_on_delete","displayName":"Revoke rules on delete","description":"Instruct Terraform to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#revoke_rules_on_delete"},{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the security group.","containerRef":"aws_vpc","linkAttribute":"id","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#vpc_id"},{"name":"egress","displayName":"Egress","description":"Configuration block for egress rules","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#egress","attributes":[{"name":"from_port","displayName":"From port","description":"Start port (or ICMP type number if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#from_port"},{"name":"to_port","displayName":"To port","description":"End port (or ICMP code if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#to_port"},{"name":"protocol","displayName":"Protocol","description":"The protocol. If not icmp, tcp, udp, or all use the -1 protocol number.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#protocol"},{"name":"cidr_blocks","displayName":"CIDR blocks","description":"List of CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#cidr_blocks"},{"name":"ipv6_cidr_blocks","displayName":"IPv6 CIDR blocks","description":"List of IPv6 CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ipv6_cidr_blocks"}]},{"name":"ingress","displayName":"Ingress","description":"Configuration block for Ingress rules","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ingress","attributes":[{"name":"from_port","displayName":"From port","description":"Start port (or ICMP type number if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#from_port"},{"name":"to_port","displayName":"To port","description":"End port (or ICMP code if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#to_port"},{"name":"protocol","displayName":"Protocol","description":"The protocol. If not icmp, tcp, udp, or all use the -1 protocol number.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#protocol"},{"name":"cidr_blocks","displayName":"CIDR blocks","description":"List of CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#cidr_blocks"},{"name":"ipv6_cidr_blocks","displayName":"IPv6 CIDR blocks","description":"List of IPv6 CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ipv6_cidr_blocks"}]},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_instance","displayName":"EC2 Instance","description":"Provides an EC2 instance resource.","icon":"Aws_EC2-Instance","model":"DefaultModel","url":"https://docs.aws.amazon.com/ec2/index.html","attributes":[{"name":"security_groups","displayName":"Security groups","description":"List of security group names to associate with.","linkAttribute":"name","linkRef":"aws_security_group","linkType":"Reverse","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#security_groups"},{"name":"vpc_security_group_ids","displayName":"VPC security group IDs","description":"List of security group IDs to associate with.","linkAttribute":"id","linkRef":"aws_security_group","linkType":"Reverse","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#vpc_security_group_ids"},{"name":"subnet_id","displayName":"Subnet ID","description":"The VPC Subnet ID to launch in.","linkAttribute":"id","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#subnet_id"}]},{"type":"aws_volume_attachment","displayName":"AWS volume attachment","description":"Attach an EBS volume to one or more instances","icon":"Aws_Elastic-Block-Store_Volume","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html","attributes":[{"name":"device_name","displayName":"Device name","description":"The device name to expose to the instance (for example, /dev/sdh or xvdh).","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#device_name"},{"name":"volume_id","displayName":"Volume ID","description":"The ID of the Volume to attach to.","linkAttribute":"id","linkRef":"aws_ebs_volume","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#volume_id"},{"name":"instance_id","displayName":"Instance ID","description":"The ID of the Instance to attach to.","linkAttribute":"id","linkRef":"aws_instance","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#instance_id"}]},{"type":"aws_ebs_volume","displayName":"EBS Volume","description":"A durable, block-level storage device that you can attach to your instances.","icon":"Aws_Elastic-Block-Store_Volume","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes.html","attributes":[{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone where the EBS volume will exist.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ebs_volume#availability_zone"}]},{"type":"aws_elb","displayName":"AWS ELB","description":"Automatically distributes incoming application traffic across multiple targets and virtual appliances in one or more Availability Zones.","icon":"Aws_Elastic-Load-Balancing_Network-Load-Balancer","model":"DefaultModel","url":"https://aws.amazon.com/elasticloadbalancing/","attributes":[{"name":"listener","displayName":"Listener","description":"A list of listener blocks. Each listener block supports fields documented below.","required":true,"type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#listener","attributes":[{"name":"instance_port","displayName":"Instance port","description":"The port on the instance to route to.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instance_port"},{"name":"lb_port","displayName":"LB port","description":"The port to listen on for the load balancer.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#lb_port"},{"name":"lb_protocol","displayName":"LB protocol","description":"The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#lb_protocol"},{"name":"instance_protocol","displayName":"Instance protocol","description":"The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instance_protocol"}]},{"name":"subnets","displayName":"Subnets","description":"A list of subnet IDs to attach to the ELB.","linkAttribute":"id","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#subnets"},{"name":"security_groups","displayName":"Security groups","description":"A list of security group IDs to assign to the ELB.","linkAttribute":"id","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#security_groups"},{"name":"instances","displayName":"Instances","description":"A list of instance ids to place in the ELB pool.","linkAttribute":"id","linkRef":"aws_instance","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instances"}]},{"type":"aws_vpc","displayName":"Virtual Private Cloud (VPC)","description":"Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you\'ve defined.","icon":"Aws_Virtual-Private-Cloud","isContainer":true,"model":"DefaultContainer","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html","attributes":[{"name":"cidr_block","displayName":"CIDR block","description":"IPv4 CIDR block of the desired VPC.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"regex":"^([0-9]{1,3}\\\\.){3}[0-9]{1,3}(\\\\/([0-9]|[1-2][0-9]|3[0-2]))?$"}},{"name":"ipv4_ipam_pool_id","displayName":"IPv4 IPAM pool ID","description":"ID of an IPv4 IPAM pool you want to use for allocating this VPC\'s CIDR.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html"},{"name":"ipv4_netmask_length","displayName":"IPv4 netmask length","description":"Netmask length of the IPv4 CIDR you want to allocate to this VPC.","type":"Number","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"max":32,"min":1}},{"name":"ipv6_cidr_block","displayName":"IPv6 CIDR block","description":"IPv6 CIDR block to request from an IPAM Pool.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"regex":"[a-fA-F0-9]{4}(:[a-fA-F0-9]{4}){7}"}},{"name":"ipv6_ipam_pool_id","displayName":"IPv6 IPAM pool ID","description":"IPAM Pool ID for a IPv6 pool","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html"},{"name":"ipv6_netmask_length","displayName":"IPv6 netmask length","description":"Netmask length to request from IPAM Pool.","type":"Number","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"values":[56]}},{"name":"ipv6_cidr_block_network_border_group","displayName":"IPv6 CIDR block network border group","description":"Restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/Extend_VPCs.html"},{"name":"instance_tenancy","displayName":"Instance tenancy","description":"Allowed tenancy of instances launched into the selected VPC.","type":"String","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html","rules":{"values":["default","dedicated"]}},{"name":"enable_dns_support","displayName":"Enable DNS support","description":"Enable DNS support in the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html"},{"name":"enable_dns_hostnames","displayName":"Enable DNS hostnames","description":"Enable DNS hostnames in the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html"},{"name":"enable_classiclink","displayName":"Enable ClassicLink","description":"Enable ClassicLink for the VPC, allowing you to link EC2-Classic instances to the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"},{"name":"enable_classiclink_dns_support","displayName":"Enable ClassicLink DNS support","description":"Enable ClassicLink DNS Support for the VPC.
If set to true, DNS hostnames that are addressed between linked EC2-Classic instances and instances in the VPC will resolve to private IP addresses.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"},{"name":"assign_generated_ipv6_cidr_block","displayName":"Assign generated IPv6 CIDR block","description":"Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html"},{"name":"enable_network_address_usage_metrics","displayName":"Enable network address usage metrics","description":"Enable network address usage metrics for the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/network-address-usage.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_internet_gateway","displayName":"Internet gateway","description":"An internet gateway is a horizontally scaled, redundant, and highly available VPC component
that allows communication between your VPC and the internet.","icon":"Aws_VPC_Internet-Gateway","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The VPC ID to create the gateway in.","containerRef":"aws_vpc","type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_route","displayName":"AWS route","description":"Contains a set of rules, called routes, that determine where network traffic from your subnet or gateway is directed.","icon":"Aws_Route-53","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"route_table_id","displayName":"Route table ID","description":"The ID of the routing table.","containerRef":"aws_route","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route#route_table_id"},{"name":"gateway_id","displayName":"Gateway ID","description":"Identifier of a VPC internet gateway or a virtual private gateway.","linkAttribute":"id","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route#gateway_id"}]},{"type":"aws_subnet","displayName":"Subnet","description":"A subnet is a range of IP addresses in your VPC. You can launch AWS resources into your subnets.","icon":"Aws_Mesh","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The VPC ID to create the subnet in.","containerRef":"aws_vpc","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#vpc_id"},{"name":"gateway_id","type":"Link","linkAttribute":"id","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink"},{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone for the subnet.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#availability_zone"},{"name":"availability_zone_id","displayName":"Availability zone ID","description":"The ID of the Availability Zone for the subnet.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#availability_zone_id"},{"name":"cidr_block","displayName":"CIDR block","description":"IPv4 CIDR block for the subnet","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#cidr_block","rules":{"regex":"^([0-9]{1,3}\\\\.){3}[0-9]{1,3}(\\\\/([0-9]|[1-2][0-9]|3[0-2]))?$"}},{"name":"customer_owned_ipv4_pool","displayName":"Customer owned IPv4 pool","description":"The ID of an address pool that you own.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#customer_owned_ipv4_pool"},{"name":"map_customer_owned_ip_on_launch","displayName":"Map customer owned IP on launch","description":"Specify true to indicate that network interfaces created in the subnet should be assigned a customer owned IP address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#map_customer_owned_ip_on_launch"},{"name":"map_customer_ip_on_launch","displayName":"Map customer IP on launch","description":"Specify true to indicate that instances launched into the subnet should be assigned a public IP address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#map_public_ip_on_launch"},{"name":"enable_dns64","displayName":"Enable DNS64","description":"Whether DNS queries made to the Amazon-provided DNS Resolver
in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_dns64"},{"name":"assign_ipv6_address_on_creation","displayName":"Assign IPv6 address on creation","description":"Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#assign_ipv6_address_on_creation"},{"name":"ipv6_cidr_block","displayName":"IPv6 CIDR block","description":"The IPv6 network range for the subnet, in CIDR notation","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#ipv6_cidr_block","rules":{"regex":"[a-fA-F0-9]{4}(:[a-fA-F0-9]{4}){7}"}},{"name":"ipv6_native","displayName":"IPv6 native","description":"Whether to create an IPv6-only subnet.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#ipv6_native"},{"name":"enable_resource_name_dns_a_record_on_launch","displayName":"Enable ressource name DNS A record on launch","description":"Whether to respond to DNS queries for instance hostnames with DNS A records.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_resource_name_dns_a_record_on_launch"},{"name":"enable_resource_name_dns_aaaa_record_on_launch","displayName":"Enable ressource name DNS AAAA record on launch","description":"Whether to respond to DNS queries for instance hostnames with DNS AAAA records.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_resource_name_dns_aaaa_record_on_launch"},{"name":"private_dns_hostname_type_on_launch","displayName":"Private DNS hostname type on launch","description":"The type of hostnames to assign to instances in the subnet at launch.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#private_dns_hostname_type_on_launch"},{"name":"outpost_arn","displayName":"Outpost Amazon Resource Name (ARN)","description":"Amazon Resource Name (ARN) of the Outpost","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#outpost_arn"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#tags"}]},{"type":"aws_db_subnet_group","displayName":"AWS DB subnet group","description":"A collection of subnets that you create in a VPC and that you then designate for your DB instances.","icon":"AwsDbSubnetGroup","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets","attributes":[{"name":"subnet_ids","displayName":"Subnet IDs","description":"A list of VPC subnet IDs.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html"}]},{"type":"aws_route53_zone","displayName":"AWS route 53 zone","description":"A collection of records","icon":"Aws_Route-53-Hosted-Zone","isContainer":true,"model":"DefaultContainer","url":"https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html","attributes":[{"name":"name","displayName":"Name","description":"This is the name of the hosted zone.","required":true,"type":"String","containerRef":"aws_route53_zone","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_zone#name"},{"name":"records","displayName":"Records","type":"Link","linkModel":"defaultLink","linkAttribute":"name","linkRef":"aws_route53_record","linkType":"Default"}]},{"type":"aws_route53_record","displayName":"AWS route 53 record","description":"Create records to tell the DNS how to route traffic for that domain.","icon":"Aws_Route-53_Route-Table","model":"DefaultModel","url":"https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html","attributes":[{"name":"zone_id","displayName":"Zone ID","description":"The ID of the hosted zone to contain this record.","containerRef":"aws_route53_zone","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record#zone_id"},{"name":"records","displayName":"Records","description":"A string list of records.","linkRef":"aws_route53_record","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record#records"}]},{"type":"aws_db_instance","displayName":"AWS DB instance","description":"An isolated database environment.","icon":"Aws_EC2_DB-Instance","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html","attributes":[{"name":"allocated_storage","displayName":"Allocated storage","description":"The allocated storage in gigabytes.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#allocated_storage"},{"name":"db_name","displayName":"Database name","description":"The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#db_name"},{"name":"engine","displayName":"Database engine","description":"The database engine to use.","linkRef":"aws_rds_engine_version","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#engine"},{"name":"vpc_security_group_ids","displayName":"VPC security groups","description":"A list of VPC security groups to associate.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#vpc_security_group_ids"},{"name":"instance_class","displayName":"Instance class","description":"The instance type of the Relational Database Service instance.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#instance_class"},{"name":"db_subnet_group_name","displayName":"Subnet group name","description":"Name of DB subnet group. DB instance will be created in the VPC associated with the DB subnet group.","linkAttribute":"name","linkRef":"aws_db_subnet_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#db_subnet_group_name"},{"name":"username","displayName":"Username","description":"Username for the master DB user.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#username"},{"name":"password","displayName":"Password","description":"Password for the master DB user.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#password"},{"name":"skip_final_snapshot","displayName":"Skip final snapshot","description":"Determines whether a final DB snapshot is created before the DB instance is deleted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#skip_final_snapshot"},{"name":"publicly_accessible","displayName":"Publicly accessible","description":"Controls if instance is publicly accessible.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#publicly_accessible"},{"name":"allow_major_version_upgrade","displayName":"Allow major version upgrade","description":"Indicates that major version upgrades are allowed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#allow_major_version_upgrade"},{"name":"apply_immediately","displayName":"Apply immediately","description":"Specifies whether any database modifications are applied immediately, or during the next maintenance window.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#apply_immediately"},{"name":"auto_minor_version_upgrade","displayName":"Auto minor version upgrade","description":"Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#auto_minor_version_upgrade"},{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone for the Relational Database Service instance.","linkAttribute":"id","linkRef":"aws_availability_zones","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#availability_zone"},{"name":"backup_retention_period","displayName":"Backup retention period","description":"The days to retain backups for.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#backup_retention_period","rules":{"max":"35","min":"0"}},{"name":"backup_window","displayName":"Backup window","description":"The daily time range (in UTC) during which automated backups are created if they are enabled.
Must not overlap with maintenance_window.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#backup_window"},{"name":"character_set_name","displayName":"Character set name","description":"Specifies the character set to associate with the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#character_set_name"},{"name":"copy_tags_to_snapshot","displayName":"Copy tags to snapshot","description":"Whether to copy all Instance tags to snapshots, or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#copy_tags_to_snapshot"},{"name":"delete_automated_snapshots","displayName":"Delete automated snapshots","description":"Whether to remove automated backups when the DB instance is deleted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#delete_automated_snapshots"},{"name":"deletion_protection","displayName":"Deletion protection","description":"If \'Deletion protection\' is set to true, the DB instance cannot be deleted. Otherwise, it can.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#deletion_protection"},{"name":"final_snapshot_identifier","displayName":"Final snapshot identifier","description":"The name of the final DB snapshot when this DB instance is deleted.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#final_snapshot_identifier"},{"name":"iam_database_authentication_enabled","displayName":"IAM database authentication enabled","description":"Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#iam_database_authentication_enabled"},{"name":"identifier","displayName":"Identifier","description":"The name of the Relational Database Service instance.
Conflicts with identifier_prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#identifier"},{"name":"identifier_prefix","displayName":"Identifier prefix","description":"Creates a unique identifier beginning with the specified prefix.
Conflicts with identifier.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#identifier_prefix"},{"name":"iops","displayName":"IOPS","description":"The amount of provisioned IOPS.
Can only be set when storage_type is io1 or p3.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#iops"},{"name":"maintenance_window","displayName":"Maintenance window","description":"The window to perform maintenance in.
Format: ddd:hh24:mi-ddd:hh24:mi.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#maintenance_window"},{"name":"max_allocated_storage","displayName":"Max allocated storage","description":"The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#max_allocated_storage"},{"name":"monitoring_interval","displayName":"Monitoring interval","description":"The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#monitoring_interval","rules":{"values":["0","1","5","10","15","30","60"]}},{"name":"multi_az","displayName":"Multi AZ","description":"Specifies if the Relational Database Service instance is on multiple Availability Zones.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#multi_az"},{"name":"network_type","displayName":"Network type","description":"The type of network connection to use for connecting to an Amazon Relational Database Service instance.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#network_type","rules":{"values":["IPV4","DUAL"]}},{"name":"option_group_name","displayName":"Option group name","description":"The name of the option group to associate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#option_group_name"},{"name":"parameter_group_name","displayName":"Parameter group name","description":"The name of the DB parameter group to associate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#parameter_group_name"},{"name":"performance_insights_enabled","displayName":"Performance insights enabled","description":"Specifies whether Performance Insights are enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#performance_insights_enabled"},{"name":"performance_insights_retention_period","displayName":"Performance insights retention period","description":"The amount of time in days to retain Performance Insights data.
Must be a multiple of 31.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#performance_insights_retention_period"},{"name":"port","displayName":"Port","description":"The port on which the DB accepts connections.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#port","rules":{"max":"65535","min":"1"}},{"name":"replica_mode","displayName":"Replica mode","description":"Specifies whether the replica is in either mounted or open-read-only mode.
This attribute is only supported by Oracle instances.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#replica_mode","rules":{"values":["mounted","open-read-only"]}},{"name":"restore_to_point_in_time","displayName":"Restore to point in time","description":"Restore from a point in time.
Must be specified if restore is set to true.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#restore_to_point_in_time","attributes":[{"name":"restore_time","displayName":"Restore time","description":"The date and time to restore from.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#restore_time"},{"name":"source_db_instance_identifier","displayName":"Source DB instance identifier","description":"The identifier of the source DB instance from which to restore.","linkRef":"aws_db_instance","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_db_instance_identifier"},{"name":"use_latest_restorable_time","displayName":"Use latest restorable time","description":"Specifies whether to restore the DB instance to the latest restorable backup time.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#use_latest_restorable_time"},{"name":"source_db_instance_automated_backups_arn","displayName":"Source DB instance automated backups ARN","description":"The ARN of the automated backup from which to restore.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_db_instance_automated_backups_arn"},{"name":"source_dbi_resource_id","displayName":"Source DBI resource ID","description":"The resource ID of the source DB instance from which to restore.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_dbi_resource_id"}]},{"name":"s3_import","displayName":"S3 import","description":"Import from an S3 bucket.
Must be specified if import is set to true.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#s3_import","attributes":[{"name":"bucket_name","displayName":"Bucket name","description":"The name of the S3 bucket where the backup is stored.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#bucket_name"},{"name":"bucket_prefix","displayName":"Bucket prefix","description":"The path to the backup.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#bucket_prefix"},{"name":"ingestion_role","displayName":"Ingestion role","description":"Role applied to load the data.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#ingestion_role"},{"name":"source_engine","displayName":"Source engine","description":"Source engine for the backup.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_engine"},{"name":"source_engine_version","displayName":"Source engine version","description":"Version of the source engine used for the backup.","linkRef":"aws_rds_engine_version","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_engine_version"}]},{"name":"storage_encrypted","displayName":"Storage encrypted","description":"Specifies whether the DB instance is encrypted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_encrypted"},{"name":"storage_type","displayName":"Storage type","description":"The type of storage for the DB.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_type","rules":{"values":["standard","gp2","gp3","io1"]}},{"name":"storage_throughput","displayName":"Storage throughput","description":"The storage throughput value for the DB instance.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_throughput"},{"name":"timezone","displayName":"Timezone","description":"The timezone of the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#timezone"},{"name":"customer_owned_ip_enabled","displayName":"Customer owned IP enabled","description":"Specifies whether the DB instance is a customer-owned IP address (CoIP) enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#customer_owned_ip_enabled"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the DB instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#tags"}]},{"type":"aws_key_pair","displayName":"AWS key pair","description":"A set of security credentials to prove your identity when connecting to an Amazon EC2 instance.","icon":"Aws_Identity-Access-Management_Long-Term-Security-Credential","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html","attributes":[{"name":"key_name","displayName":"Key name","description":"The name for the key pair.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#key_name"},{"name":"public_key","displayName":"Public key","description":"The public key material.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#public_key"},{"name":"key_name_prefix","displayName":"Key name prefix","description":"Creates a unique name beginning with the specified prefix.
Conflicts with key_name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#key_name_prefix"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#tags"}]},{"type":"aws_route_table","displayName":"Route table","description":"A route table contains a set of rules, called routes, that determine where network traffic from your subnet or gateway is directed.","icon":"Aws_Route-53_Route-Table","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the route table.","containerRef":"aws_vpc","required":true,"type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"propagating_vgws","displayName":"Propagating Virtual GateWays (VGWS)","description":"List of virtual gateways for propagation","type":"Array","url":"https://docs.aws.amazon.com/directconnect/latest/UserGuide/virtualgateways.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_route_table_association","displayName":"Route table association","description":"Association between a route table and a subnet, internet gateway, or virtual private gateway.","icon":"Aws_Connector","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the route table association.","containerRef":"aws_vpc","type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html"},{"name":"route_table_id","displayName":"Route table ID","description":"The ID of the route table to associate the subnet with.","linkRef":"aws_route_table","linkType":"Reverse","linkModel":"defaultLink","required":true,"type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html"},{"name":"gateway_id","displayName":"Gateway ID","description":"The ID of the gateway to associate the route table with. Conflicts with subnet_id.","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html"},{"name":"subnet_id","displayName":"Subnet ID","description":"The ID of the subnet to associate the route table with. Conflicts with gateway_id.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html"}]},{"type":"aws_s3_bucket","displayName":"S3 bucket","description":"Amazon Simple Storage Service (Amazon S3) is an object storage service.","icon":"Aws_Storage-Service_Bucket","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html","attributes":[{"name":"bucket","displayName":"Bucket name","description":"The name of the bucket.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#bucket","rules":{"max":63,"min":1}},{"name":"bucket_prefix","displayName":"Bucket prefix","description":"Creates a unique bucket name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#bucket_prefix","rules":{"max":63,"min":1}},{"name":"force_destroy","displayName":"Force destroy","description":"Indicates if all objects (including any locked objects) should be deleted from the bucket
when the bucket is destroyed so that the bucket can be destroyed without error.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#force_destroy"},{"name":"object_lock_enabled","displayName":"Object lock enabled","description":"Indicates whether this bucket has an Object Lock configuration enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#object_lock_enabled"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#tags"}]},{"type":"aws_s3_bucket_acl","displayName":"S3 bucket Access Control List (ACL)","description":"Amazon S3 access control lists (ACLs) enable you to manage access to buckets and objects.","icon":"Aws_Storage-Service_Bucket-ACL","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html","attributes":[{"name":"bucket","displayName":"Bucket","description":"The name of the bucket to put the ACL in.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#bucket"},{"name":"acl","displayName":"ACL","description":"ACL to apply to the bucket
Conflicts with access_control_policy","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#acl"},{"name":"expected_bucket_owner","displayName":"Bucket owner","description":"Account ID of the expected bucket owner","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#expected_bucket_owner"}]},{"type":"aws_lb","displayName":"Application Load Balancer (LB)","description":"A load balancer serves as the single point of contact for clients. The load balancer distributes incoming application traffic across multiple targets, in multiple Availability Zones.","icon":"Aws_Application-Load-Balancer","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC to create the ALB in.","containerRef":"aws_vpc","type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#vpc_id"},{"name":"name","displayName":"Name","description":"The name of the LB. This name must be unique within your AWS account.
If not specified, Terraform will autogenerate a name beginning with tf-lb.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#name","rules":{"regex":"^([a-zA-Z0-9]+-)*[a-zA-Z0-9]+$"}},{"name":"internal","displayName":"Internal LB","description":"If true, the LB will be internal.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#internal"},{"name":"load_balancer_type","displayName":"Load balancer type","description":"The type of load balancer to create.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#load_balancer_type","rules":{"values":["application","gateway","network"]}},{"name":"access_logs","displayName":"Access logs","description":"An Access Logs block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb","attributes":[{"name":"bucket","displayName":"Bucket","description":"The S3 bucket name to store the logs in.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#bucket"},{"name":"enabled","displayName":"Enabled","description":"Boolean to enable / disable access_logs. Defaults to false, even when bucket is specified.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enabled"},{"name":"prefix","displayName":"Prefix","description":"The S3 bucket prefix. Logs are stored in the root if not configured.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#prefix"}]},{"name":"customer_owned_ipv4_pool","displayName":"Customer owned ivp4 pool","description":"The ID of the customer owned ipv4 pool to use for this load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#customer_owned_ipv4_pool"},{"name":"desync_mitigation_mode","displayName":"Customer owned ivp4 pool","description":"Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#desync_mitigation_mode","rules":{"values":["defensive","monitor","strictest"]}},{"name":"drop_invalid_header_fields","displayName":"Drop invalid header fields","description":"Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false).
The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#drop_invalid_header_fields"},{"name":"enable_cross_zone_load_balancing","displayName":"Enable cross zone load balancing","description":"If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false).
For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_cross_zone_load_balancing"},{"name":"enable_deletion_protection","displayName":"Enable deletion protection","description":"If true, deletion of the load balancer will be disabled via the AWS API. This will prevent Terraform from deleting the load balancer. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_deletion_protection"},{"name":"enable_http2","displayName":"Enable http2","description":"Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_http2"},{"name":"enable_waf_fail_open","displayName":"Enable WAF fail open","description":"Indicates whether to allow a WAF-enabled load balancer to route requests to targets
if it is unable to forward the request to AWS WAF. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_waf_fail_open"},{"name":"idle_timeout","displayName":"Idle timeout","description":"The time in seconds that the connection is allowed to be idle.
Only valid for Load Balancers of type application. Default: 60.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#idle_timeout"},{"name":"ip_address_type","displayName":"IP address type","description":"The type of IP addresses used by the subnets for your load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#ip_address_type","rules":{"values":["ipv4","dualstack"]}},{"name":"security_groups","displayName":"Security groups","description":"A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#security_groups"},{"name":"preserve_host_header","displayName":"Preserve host header","description":"Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request
and send it to the target without any change. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#preserve_host_header"},{"name":"subnet_mapping","displayName":"Subnet mapping","description":"A subnet mapping block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnet_mapping","attributes":[{"name":"subnet_id","displayName":"Subnet ID","description":"ID of the subnet of which to attach to the load balancer. You can specify only one subnet per Availability Zone.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnet_id"},{"name":"allocation_id","displayName":"Allocation ID","description":"The allocation ID of the Elastic IP address for an internet-facing load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#allocation_id"},{"name":"ipv6_address","displayName":"IPv6 address","description":"The IPv6 address. You associate IPv6 CIDR blocks with your VPC and choose the subnets
where you launch both internet-facing and internal Application Load Balancers or Network Load Balancers.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#ipv6_address"},{"name":"private_ipv4_address","displayName":"Private IPv4 address","description":"The private IPv4 address for an internal load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#private_ipv4_address"}]},{"name":"subnets","displayName":"Subnets","description":"A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network.
Changing this value for load balancers of type network will force a recreation of the resource.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnets"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix. Conflicts with name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#name_prefix"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource. If configured with a provider default_tags configuration block present,
tags with matching keys will overwrite those defined at the provider-level.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#tags"}]},{"type":"aws_lb_target_group","displayName":"Load balancer target group","description":"Target groups route requests to one or more registered targets, using the protocol and port number that you specify.
You can register a target with multiple target groups","icon":"Aws_Application-Load-Balancer-Target-Group","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html","attributes":[{"name":"connection_termination","displayName":"Connection termination","description":"Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#connection_termination"},{"name":"deregistration_delay","displayName":"Deregistration delay","description":"Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#deregistration_delay"},{"name":"lambda_multi_value_headers_enabled","displayName":"Lambda multi value headers enabled","description":"Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#lambda_multi_value_headers_enabled"},{"name":"load_balancing_algorithm_type","displayName":"Load balancing algorithm type","description":"Determines how the load balancer selects targets when routing requests.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#load_balancing_algorithm_type","rules":{"values":["round_robin","least_outstanding_requests"]}},{"name":"name","displayName":"Name","description":"Name of the target group. If omitted, Terraform will assign a random, unique name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#name_prefix"},{"name":"port","displayName":"Port","description":"Port on which targets receive traffic, unless overridden when registering a specific target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#port"},{"name":"preserve_client_ip","displayName":"Preserve client IP","description":"Whether client IP preservation is enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#preserve_client_ip"},{"name":"protocol","displayName":"Protocol","description":"Protocol to use for routing traffic to the targets.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol","rules":{"values":["GENEVE","HTTP","HTTPS","TCP","TCP_UDP","TLS","UDP"]}},{"name":"protocol_version","displayName":"Protocol version","description":"Only applicable when protocol is HTTP or HTTPS. The protocol version.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol_version"},{"name":"proxy_protocol_v2","displayName":"Proxy protocol v2","description":"Whether to enable support for proxy protocol v2 on Network Load Balancers.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#proxy_protocol_v2"},{"name":"slow_start","displayName":"Slow start","description":"Amount time for targets to warm up before the load balancer sends them a full share of requests.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#slow_start"},{"name":"target_type","displayName":"Target type","description":"Type of target that you must specify when registering targets with this target group. The default is \\"instance\\".","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_type"},{"name":"ip_address_type","displayName":"IP address type","description":"The type of IP addresses used by the target group, only supported when target type is set to ip.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#ip_address_type","rules":{"values":["ipv4","ipv6"]}},{"name":"vpc_id","displayName":"VPC ID","description":"Identifier of the VPC in which to create the target group.","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#vpc_id"},{"name":"health_check","displayName":"Health check","description":"Health Check configuration block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#health_check","attributes":[{"name":"enabled","displayName":"Enabled","description":"Whether health checks are enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#enabled"},{"name":"healthy_threshold","displayName":"Healthy threshold","description":"Number of consecutive health check successes required before considering a target healthy.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#healthy_threshold"},{"name":"interval","displayName":"Interval","description":"Approximate amount of time, in seconds, between health checks of an individual target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#interval"},{"name":"matcher","displayName":"Matcher","description":"Response codes to use when checking for a healthy responses from a target.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#matcher"},{"name":"path","displayName":"Path","description":"Destination for the health check request.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#path"},{"name":"port","displayName":"Port","description":"The port the load balancer uses when performing health checks on targets.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#port"},{"name":"protocol","displayName":"Protocol","description":"The port the load balancer uses when performing health checks on targets.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol","rules":{"values":["TCP","HTTP","HTTPS"]}},{"name":"timeout","displayName":"Timeout","description":"Amount of time, in seconds, during which no response from a target means a failed health check.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#timeout"},{"name":"unhealthy_threshold","displayName":"Unhealthy threshold","description":"Number of consecutive health check failures required before considering a target unhealthy.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#unhealthy_threshold"}]},{"name":"stickiness","displayName":"Stickiness","description":"Stickiness configuration block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#stickiness","attributes":[{"name":"cookie_duration","displayName":"Cookie duration","description":"The time period, in seconds, during which requests from a client should be routed to the same target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#cookie_duration"},{"name":"cookie_name","displayName":"Cookie name","description":"Name of the application based cookie.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#cookie_name"},{"name":"enabled","displayName":"Enable stickiness","description":"Boolean to enable/disable stickiness.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#enabled"},{"name":"type","displayName":"Type","description":"The type of sticky sessions.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#type","rules":{"values":["lb_cookie","app_cookie","source_ip","source_ip_dest_ip","source_ip_dest_ip_proto"]}}]},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"},{"name":"target_failover","displayName":"Target failover","description":"Target failover block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_failover","attributes":[{"name":"on_deregistration","displayName":"On deregistration","description":"Indicates how the Gateway Load Balancer (GWLB) handles existing flows when a target is deregistered.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#on_deregistration","rules":{"values":["rebalance","no_rebalance"]}},{"name":"on_unhealthy","displayName":"On unhealthy","description":"Indicates how the Gateway Load Balancer (GWLB) handles existing flows when a target is unhealthy.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#on_unhealthy","rules":{"values":["rebalance","no_rebalance"]}}]}]},{"type":"aws_launch_configuration","displayName":"Launch configuration","description":"A launch configuration is an instance configuration template that an Auto Scaling group uses to launch EC2 instances.
When you create a launch configuration, you specify information for the instances.","icon":"Aws_Launch-Configuration","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html","attributes":[{"name":"image_id","displayName":"Image ID","description":"The EC2 image ID to launch.","linkRef":"aws_ami","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#image_id"},{"name":"instance_type","displayName":"Instance type","description":"The size of instance to launch.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#instance_type"},{"name":"iam_instance_profile","displayName":"IAM instance profile","description":"The name attribute of the IAM instance profile to associate with launched instances.","type":"String","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html"},{"name":"associate_public_ip_address","displayName":"Associate public IP address","description":"Associate a public ip address with an instance in a VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html"},{"name":"enable_monitoring","displayName":"Enable monitoring","description":"Enables/disables detailed monitoring.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring_ec2.html"},{"name":"key_name","displayName":"Key name","description":"The key name that should be used for the instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#key_name"},{"name":"name","displayName":"Name","description":"The name of the launch configuration.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#name_prefix"},{"name":"security_groups","displayName":"Security groups","description":"A list of associated security group IDS.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#security_groups"},{"name":"placement_tenancy","displayName":"Placement tenancy","description":"The tenancy of the instance.","type":"String","url":"https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateLaunchConfiguration.html","rules":{"values":["enabled","disabled"]}},{"name":"spot_price","displayName":"Spot price","description":"The maximum price to use for reserving spot instances.","type":"Number","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html"},{"name":"user_data","displayName":"User data","description":"The user data to provide when launching the instance.
If you need to pass gzip-compressed data via this argument, use \\"user_data_base64\\" instead.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#user_data"},{"name":"user_data_base64","displayName":"User data base64","description":"Can be used instead of \\"user_data\\" to pass base64-encoded binary data directly,
whenever the value is not a valid UTF-8 string.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#user_data_base64"},{"name":"vpc_classic_link_id","displayName":"VPC ClassicLink ID","description":"The ID of a ClassicLink-enabled VPC.","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"vpc_classic_link_security_groups","displayName":"VPC ClassicLink security groups","description":"The IDs of one or more security groups for the specified ClassicLink-enabled VPC.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html"},{"name":"ebs_optimized","displayName":"EBS optimized","description":"If true, the launched EC2 instance will be EBS-optimized.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html"},{"name":"ebs_block_device","displayName":"EBS block device","description":"Additional EBS block devices to attach to the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ebs_block_device","attributes":[{"name":"device_name","displayName":"Device name","description":"The name of the device to mount.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#device_name"},{"name":"snapshot_id","displayName":"Snapshot ID","description":"The Snapshot ID to mount.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#snapshot_id"},{"name":"volume_size","displayName":"Volume size","description":"The size of the volume in gigabytes.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#volume_size"},{"name":"volume_type","displayName":"Volume type","description":"The type of volume.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#volume_type","rules":{"values":["standard","gp2","gp3","st1","sc1","io1"]}},{"name":"iops","displayName":"IOPS","description":"The amount of provisioned Input/output Operations Per Second (IOPS). This must be set with a volume_type of \\"io1\\".","type":"Number","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html"},{"name":"throughput","displayName":"Throughput","description":"The throughput (MiBps) to provision for a gp3 volume.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#throughput"},{"name":"delete_on_termination","displayName":"Delete on termination","description":"Whether the volume should be destroyed on instance termination.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#delete_on_termination"},{"name":"encrypted","displayName":"Encrypted","description":"Whether the volume should be encrypted or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#encrypted"},{"name":"no_device","displayName":"No device","description":"Whether the device in the block device mapping of the AMI is suppressed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#no_device"}]},{"name":"ephemeral_block_device","displayName":"Ephemeral block device","description":"Customize Ephemeral (also known as \\"Instance Store\\") volumes on the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device","attributes":[{"name":"device_name","displayName":"Device name","description":"The name of the block device to mount on the instance.","required":"true","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device"},{"name":"no_device","displayName":"No device","description":"Whether the device in the block device mapping of the AMI is suppressed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device"},{"name":"virtual_name","displayName":"Virtual name","description":"The Instance Store Device Name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#virtual_name"}]},{"name":"metadata_options","displayName":"Metadata options","description":"The metadata options for the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#metadata_options","attributes":[{"name":"http_endpoint","displayName":"HTTP endpoint","description":"The state of the metadata service: enabled, disabled.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_endpoint","rules":{"values":["enabled","disabled"]}},{"name":"http_tokens","displayName":"HTTP tokens","description":"Whether the HTTP tokens are required.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_tokens","rules":{"values":["optional","required"]}},{"name":"http_put_response_hop_limit","displayName":"HTTP PUT response hop limit","description":"The desired HTTP PUT response hop limit for instance metadata requests.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_put_response_hop_limit"}]},{"name":"root_block_device","displayName":"Root block device","description":"Customize details about the root block device of the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device","attributes":[{"description":"Whether the volume should be destroyed on instance termination.","displayName":"Delete on termination","name":"delete_on_termination","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"Whether the volume should be encrypted or not. Defaults to false.","displayName":"Encrypted","name":"encrypted","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The amount of provisioned IOPS.","displayName":"IOPS","name":"iops","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The throughput (MiBps) to provision for a gp3 volume.","displayName":"Throughput","name":"throughput","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The size of the volume in gigabytes.","displayName":"Volume","name":"volume_size","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"displayName":"Volume type","name":"volume_type","rules":{"values":["standard","gp2","gp3","st1","sc1","io1"]},"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"}]}]},{"type":"aws_autoscaling_policy","displayName":"Autoscaling policy","description":"Provides an Auto Scaling policy resource.","icon":"Aws_Auto-Scaling","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html","attributes":[{"name":"name","displayName":"Name","description":"Name of the policy.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#name"},{"name":"autoscaling_group_name","displayName":"Autoscaling group name","description":"Name of the autoscaling group.","linkRef":"aws_autoscaling_group","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#autoscaling_group_name"},{"name":"adjustment_type","displayName":"Adjustment type","description":"Whether the adjustment is an absolute number or a percentage of the current capacity.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#adjustment_type","rules":{"values":["ChangeInCapacity","ExactCapacity","PercentChangeInCapacity"]}},{"name":"policy_type","displayName":"Policy type","description":"Policy type","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#policy_type","rules":{"values":["SimpleScaling","StepScaling","TargetTrackingScaling","PredictiveScaling"]}},{"name":"cooldown","displayName":"Cooldown","description":"Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
Only available for SimpleScaling policies.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#cooldown"},{"name":"scaling_adjustment","displayName":"Scaling adjustment","description":"Number of instances by which to scale.
Only available for SimpleScaling policies.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#scaling_adjustment"},{"name":"estimated_instance_warmup","displayName":"Estimated instance warmup","description":"Estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#estimated_instance_warmup"},{"name":"enabled","displayName":"Enabled","description":"Whether the policy should be enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#enabled"},{"name":"min_adjustment_magnitude","displayName":"Min adjustment magnitude","description":"Minimum value to scale by when adjustment_type is set to PercentChangeInCapacity.
Only valid when policy_type is SimpleScaling or StepScalling.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#min_adjustment_magnitude"},{"name":"metric_aggregation_type","displayName":"Metric aggregation type","description":"The aggregation type for the CloudWatch metrics.
Only valid when policy_type is StepScaling.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_aggregation_type","rules":{"values":["Average","Minimum","Maximum"]}},{"name":"step_adjustment","displayName":"Step adjustment","description":"A list of step adjustments.
Only valid when policy_type is StepScaling.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#step_adjustment","attributes":[{"name":"metric_interval_lower_bound","displayName":"Metric interval lower bound","description":"The lower bound for the difference between the alarm threshold and the CloudWatch metric.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_interval_lower_bound"},{"name":"metric_interval_upper_bound","displayName":"Metric interval upper bound","description":"The upper bound for the difference between the alarm threshold and the CloudWatch metric.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_interval_upper_bound"},{"name":"scaling_adjustment","displayName":"Scaling adjustment","description":"The number of members by which to scale.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#scaling_adjustment"}]}]},{"type":"aws_cloudwatch_metric_alarm","displayName":"Cloudwatch metric alarm","description":"Watches a single metric over a specified time period, and performs one or more specified actions, based on the value of the metric relative to a threshold over time.","icon":"Amazon-CloudWatch_Alarm","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#CloudWatchAlarms","attributes":[{"name":"alarm_name","displayName":"Alarm name","description":"The descriptive name for the alarm. This name must be unique within the user\'s AWS account","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_name"},{"name":"comparison_operator","displayName":"Comparison operator","description":"The arithmetic operation to use when comparing the specified Statistic and Threshold.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#comparison_operator","rules":{"values":["GreaterThanOrEqualToThreshold","GreaterThanThreshold","LessThanThreshold","LessThanOrEqualToThreshold","LessThanLowerOrGreaterThanUpperThreshold","LessThanLowerThreshold","GreaterThanUpperThreshold"]}},{"name":"evaluation_periods","displayName":"Evaluation periods","description":"The number of periods over which data is compared to the specified threshold.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#evaluation_periods"},{"name":"metric_name","displayName":"Metric name","description":"The name for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#metric_name"},{"name":"namespace","displayName":"Namespace","description":"The namespace for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#namespace"},{"name":"period","displayName":"Period","description":"The period in seconds over which the specified statistic is applied.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#period"},{"name":"statistic","displayName":"Statistic","description":"The statistic to apply to the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#statistic","rules":{"values":["SampleCount","Average","Sum","Minimum","Maximum"]}},{"name":"threshold","displayName":"Threshold","description":"The value against which the specified statistic is compared.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#threshold"},{"name":"dimensions","displayName":"Dimensions","description":"The dimensions for the alarm\'s associated metric.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#dimensions","attributes":[{"name":"AutoScalingGroupName","displayName":"Auto Scaling group name","description":"Amazon EC2 Auto Scaling","linkRef":"aws_autoscaling_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html"}]},{"name":"actions_enabled","displayName":"Actions enabled","description":"Indicates whether or not actions should be executed during any changes to the alarm\'s state.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#actions_enabled"},{"name":"alarm_description","displayName":"Alarm description","description":"The description for the alarm.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_description"},{"name":"datapoints_to_alarm","displayName":"Datapoints to alarm","description":"The number of datapoints that must be breaching to trigger the alarm.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#datapoints_to_alarm"},{"name":"alarm_actions","displayName":"Alarm actions","description":"The list of actions to execute when this alarm transitions into an ALARM state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_actions","rules":{"max":5,"min":1}},{"name":"insufficient_data_actions","displayName":"Insufficient data actions","description":"The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#insufficient_data_actions","rules":{"max":5,"min":1}},{"name":"ok_actions","displayName":"OK actions","description":"The list of actions to execute when this alarm transitions into an OK state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#ok_actions","rules":{"max":5,"min":1}},{"name":"unit","displayName":"Unit","description":"The unit for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#unit","rules":{"values":["Seconds","Microseconds","Milliseconds","Bytes","Kilobytes","Megabytes","Gigabytes","Terabytes","Bits","Kilobits","Megabits","Gigabits","Terabits","Percent","Count","Bytes/Second","Kilobytes/Second","Megabytes/Second","Gigabytes/Second","Terabytes/Second","Bits/Second","Kilobits/Second","Megabits/Second","Gigabits/Second","Terabits/Second","Count/Second","None"]}},{"name":"extended_statistic","displayName":"Extended statistic","description":"The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#extended_statistic"},{"name":"treat_missing_data","displayName":"Treat missing data","description":"Sets how this alarm is to handle missing data points.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#treat_missing_data","rules":{"values":["breaching","notBreaching","ignore","missing"]}},{"name":"evaluate_low_sample_count_percentiles","displayName":"Evaluate low sample count percentiles","description":"Used only for alarms based on percentiles.
If ignore, the alarm state does not change during periods with too few data points to be statistically significant.
If evaluate or omit, the alarm is always evaluated and possibly changes state no matter how many data points are available.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#evaluate_low_sample_count_percentiles","rules":{"values":["evaluate","ignore"]}},{"name":"metric_query","displayName":"Metric query","description":"Enable to create an alarm based on a metric math expression.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#metric_query","attributes":[{"name":"id","displayName":"ID","description":"A short name used to tie this object to the results in the response.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#id"},{"name":"account_id","displayName":"Account ID","description":"The account ID to use when searching for the metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#account_id"},{"name":"expression","displayName":"Expression","description":"The math expression to be performed on the returned data, if this object is performing a math expression.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#expression"},{"name":"label","displayName":"Label","description":"A human-readable label for this metric or expression.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#label"},{"name":"return_data","displayName":"Return data","description":"Specify exactly one metric_query to be true to use that metric_query result as the alarm.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#return_data"}]}]},{"type":"aws_efs_file_system","displayName":"EFS File System","description":"Provides an Elastic File System (EFS) File System resource.","icon":"Amazon-EFS","model":"DefaultModel","url":"https://aws.amazon.com/efs/?nc1=h_ls","attributes":[{"name":"arn","displayName":"ARN","description":"Amazon Resource Name (ARN) of the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#arn"},{"name":"availability_zone_name","displayName":"Availability zone name","description":"The AWS Availability Zone in which to create the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#availability_zone_name"},{"name":"availability_zone_id","displayName":"Availability zone ID","description":"The identifier of the Availability Zone in which the file system\'s One Zone storage classes exist.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#availability_zone_id"},{"name":"creation_token","displayName":"Creation token","description":"A unique name used as reference when creating the Elastic File System to ensure idempotent file system creation.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#creation_token","rules":{"max":"64","min":"1"}},{"name":"encrypted","displayName":"Encrypted","description":"If true, the disk will be encrypted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#encrypted"},{"name":"kms_key_id","displayName":"Encrypted","description":"Amazon Resource Name (ARN) for the Key Management Service (KMS) encryption key.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#kms_key_id"},{"name":"lifecycle_policy","displayName":"Lifecycle policy","description":"A file system lifecycle policy","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#lifecycle_policy","attributes":[{"name":"transition_to_ia","displayName":"Transition to IA","description":"Indicates how long it takes to transition files to the IA storage class.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#transition_to_ia","rules":{"values":["AFTER_1_DAY","AFTER_7_DAYS","AFTER_14_DAYS","AFTER_30_DAYS","AFTER_60_DAYS","AFTER_90_DAYS"]}},{"name":"transition_to_primary_storage_class","displayName":"Transition to primary storage class","description":"Describes the policy used to transition a file from infrequent access storage to primary storage.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#transition_to_primary_storage_class","rules":{"values":["AFTER_1_ACCESS"]}}]},{"name":"performance_mode","displayName":"Performance mode","description":"The file system performance mode.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#performance_mode","rules":{"values":["generalPurpose","maxIO"]}},{"name":"provisioned_throughput_in_mibps","displayName":"Provisioned throughput in Mibps","description":"The throughput, measured in MiB/s, that you want to provision for the file system.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#provisioned_throughput_in_mibps"},{"name":"throughput_mode","displayName":"Throughput mode","description":"Throughput mode for the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#throughput_mode","rules":{"values":["bursting","provisioned","elastic"]}},{"name":"size_in_bytes","displayName":"Size in bytes","description":"Current byte count used by the file system.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/efs_file_system#size_in_bytes"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the file system.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#tags"}]},{"type":"aws_lb_listener","displayName":"Load Balancer Listener","description":"Provides a Load Balancer Listener resource.","icon":"Aws_Elastic-Load-Balancing_Network-Load-Balancer","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html","attributes":[{"name":"load_balancer_arn","displayName":"Load balancer ARN","description":"ARN of the load balancer.","linkRef":"aws_lb","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#load_balancer_arn"},{"name":"default_action","displayName":"Default action","description":"Configuration block for the default action.","required":true,"type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#default_action","attributes":[{"name":"type","displayName":"Type","description":"Type of routing action.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#type","rules":{"values":["forward","authenticate-oidc","authenticate-cognito","redirect","fixed-response"]}},{"name":"target_group_arn","displayName":"Target group ARN","description":"ARN of the target group to which to route traffic.","linkRef":"aws_lb_target_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#target_group_arn"}]},{"name":"certificate_arn","displayName":"Cerificate ARN","description":"ARN of the default SSL server certificate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#certificate_arn"},{"name":"port","displayName":"Port","description":"Port on which the load balancer is listening.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#port","rules":{"max":65535,"min":1}},{"name":"protocol","displayName":"Protocol","description":"Protocol for connections from clients to the load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#protocol","rules":{"values":["HTTP","HTTPS","TCP","TLS","UDP","TCP_UDP"]}},{"name":"alpn_policy","displayName":"ALPN policy","description":"Name of the Application-Layer Protocol Negotiation (ALPN) policy.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#alpn_policy","rules":{"values":["HTTP1Only","HTTP2Only","HTTP2Optional","HTTP2Preferred","None"]}},{"name":"ssl_policy","displayName":"SSL policy","description":"Name of the SSL Policy for the listener.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#ssl_policy"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#tags"}]},{"type":"aws_efs_mount_target","displayName":"EFS Mount Target","description":"Provide an Elastic File System (EFS) mount target.","icon":"Amazon-EFS","model":"DefaultModel","url":"https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html","attributes":[{"name":"file_system_id","displayName":"File system ID","description":"The ID of the file system for which the mount target is intended.","linkRef":"aws_efs_file_system","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#file_system_id"},{"name":"subnet_id","displayName":"Subnet ID","description":"The ID of the subnet to add the mount target in.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#subnet_id"},{"name":"ip_address","displayName":"IP address","description":"The address (within the address range of the specified subnet) at which the file system may be mounted via the mount target.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#ip_address"},{"name":"security_groups","displayName":"Security groups","description":"A list of up to 5 VPC security group IDs (that must be for the same VPC as subnet specified) in effect for the mount target.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#security_groups"}]},{"type":"random_string","displayName":"Random String","description":"Generates a random permutation of alphanumeric characters and optionally special characters.","icon":"variable","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string","attributes":[{"name":"length","displayName":"Length","description":"The length of the string desired.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#length","rules":{"min":1}},{"name":"special","displayName":"Special","description":"Include special characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#special"},{"name":"min_special","displayName":"Min special","description":"Minimum number of special characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_special"},{"name":"lower","displayName":"Lower","description":"Include lowercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#lower"},{"name":"min_lower","displayName":"Min lower","description":"Minimum number of lowercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_lower"},{"name":"upper","displayName":"Upper","description":"Include uppercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#upper"},{"name":"min_upper","displayName":"Min upper","description":"Minimum number of uppercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_upper"},{"name":"numeric","displayName":"Numeric","description":"Include numeric characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#numeric"},{"name":"min_numeric","displayName":"Min numeric","description":"Minimum number of numeric characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#min_numeric"},{"name":"override_special","displayName":"Override special","description":"Supply your own list of special characters to use for string generation.","type":"String"}]},{"type":"random_password","displayName":"Random Password","description":"Identical to random_string with the exception that the result is treated as sensitive and, thus, not displayed in console output.","icon":"variable","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password","attributes":[{"name":"length","displayName":"Length","description":"The length of the string desired.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#length","rules":{"min":1}},{"name":"special","displayName":"Special","description":"Include special characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#special"},{"name":"min_special","displayName":"Min special","description":"Minimum number of special characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_special"},{"name":"lower","displayName":"Lower","description":"Include lowercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#lower"},{"name":"min_lower","displayName":"Min lower","description":"Minimum number of lowercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_lower"},{"name":"upper","displayName":"Upper","description":"Include uppercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#upper"},{"name":"min_upper","displayName":"Min upper","description":"Minimum number of uppercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_upper"},{"name":"numeric","displayName":"Numeric","description":"Include numeric characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#numeric"},{"name":"min_numeric","displayName":"Min numeric","description":"Minimum number of numeric characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#min_numeric"},{"name":"override_special","displayName":"Override special","description":"Supply your own list of special characters to use for string generation.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#override_special"}]},{"type":"aws_autoscaling_group","displayName":"Auto Scaling Group","description":"Provides an Auto Scaling Group resource.","icon":"Aws_Auto-Scaling","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html","attributes":[{"name":"name","displayName":"Name","description":"Name of the Auto Scaling Group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#name"},{"name":"min_size","displayName":"Min Size","description":"Minimum size of the Auto Scaling Group.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#min_size"},{"name":"max_size","displayName":"Max Size","description":"Maximum size of the Auto Scaling Group.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#max_size"},{"name":"deired_capacity","displayName":"Desired Capacity","description":"Number of Amazon EC2 instances that should be running in the group.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#desired_capacity"},{"name":"health_check_type","displayName":"Health Check Type","description":"Controls how health checking is done.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#health_check_type","rules":{"values":["EC2","ELB"]}},{"name":"target_group_arns","displayName":"Target Group ARNs","description":"Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#target_group_arns"}]}],"variables":[{"type":"image_id","icon":"variable","model":"DefaultModel"}]}')};function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0)throw new Error("Metadata are not valid",{cause:t});return!0}},{key:"parse",value:function(){this.pluginData.definitions={components:this.getComponentDefinitions()}}},{key:"getComponentDefinitions",value:function(){var e=this,t=[];return Object.keys(this.providers).map((function(t){return e.providers[t]})).forEach((function(n){var r=[];r.push(e.getProviderDefinition(n)),n.data.forEach((function(t){return r.push(e.getBlockDefinition("data",n.name,t))})),n.modules.forEach((function(t){return r.push(e.getBlockDefinition("module",n.name,t))})),n.resources.forEach((function(t){return r.push(e.getBlockDefinition("resource",n.name,t))})),n.variables.forEach((function(t){return r.push(e.getBlockDefinition("variable",n.name,t))})),e.setChildrenTypes(r),r.forEach((function(e){t.push(e)}))})),t}},{key:"getProviderDefinition",value:function(e){var t=new p({blockType:"provider",provider:e.name,type:e.name,icon:e.icon,model:e.model,definedAttributes:e.attributes.map(this.getAttributeDefinition),isContainer:e.isContainer,displayName:e.displayName,description:e.description,url:e.url});return t.parentTypes=this.getParentTypes(t),t}},{key:"getBlockDefinition",value:function(e,t,n){var r=n.attributes||[],i=new p({blockType:e,provider:t,type:n.type,model:n.model,icon:n.icon,isContainer:n.isContainer||!1,definedAttributes:r.map(this.getAttributeDefinition),displayName:n.displayName,description:n.description,url:n.url});return i.parentTypes=this.getParentTypes(i),i}},{key:"getAttributeDefinition",value:function(e){var t=e.attributes||[];return new _(S(S({},e),{},{definedAttributes:t.map(this.getAttributeDefinition)}))}},{key:"getParentTypes",value:function(e){var t=[];return e.definedAttributes.filter((function(e){return"Reference"===e.type})).map((function(e){return e.containerRef})).filter((function(e){return!t.includes(e)})).forEach((function(e){return t.push(e)})),t}},{key:"setChildrenTypes",value:function(e){var t=e.filter((function(e){return e.parentTypes.length>0})).reduce((function(e,t){return t.parentTypes.forEach((function(n){var r;e[n]=[].concat(function(e){if(Array.isArray(e))return k(e)}(r=e[n]||[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[t.type])})),e}),{});e.filter((function(e){return t[e.type]})).forEach((function(e){e.childrenTypes=t[e.type]}))}}],r&&T(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(e.DefaultMetadata);const L=R;var I={92:()=>{}},D={};function M(e){var t=D[e];if(void 0!==t)return t.exports;var n=D[e]={exports:{}};return I[e](n,n.exports,M),n.exports}M.d=(e,t)=>{for(var n in t)M.o(t,n)&&!M.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},M.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var j={};(()=>{M.d(j,{dx:()=>Y,q2:()=>Oe,FO:()=>kt,xf:()=>Tt,Gy:()=>Pt,s4:()=>Le,c7:()=>It,_7:()=>ct,gp:()=>_t,cK:()=>Ne,zs:()=>vt,AV:()=>Tt,Xp:()=>v,VS:()=>g,ul:()=>G,hW:()=>Fe,x1:()=>Qe,z5:()=>tt,oN:()=>ft,TB:()=>pt,u1:()=>dt,_b:()=>Mt,$F:()=>rt,_T:()=>Bt,db:()=>it,Zx:()=>et,_x:()=>Me,r8:()=>D,JI:()=>P,TP:()=>C,WU:()=>e,Nj:()=>c,ZP:()=>Kt});class e{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(e){this._text=e}}function t(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n>>16)*u&65535)<<16)&4294967295,o=o<<15|o>>>17,o=(65535&o)*l+(((o>>>16)*l&65535)<<16)&4294967295,c^=o,c=c<<13|c>>>19,i=5*(65535&c)+((5*(c>>>16)&65535)<<16)&4294967295,c=27492+(65535&i)+((58964+(i>>>16)&65535)<<16);switch(o=0,s){case 3:o^=(255&r.charCodeAt(h+2))<<16;case 2:o^=(255&r.charCodeAt(h+1))<<8;case 1:o^=255&r.charCodeAt(h),o=(65535&o)*u+(((o>>>16)*u&65535)<<16)&4294967295,o=o<<15|o>>>17,o=(65535&o)*l+(((o>>>16)*l&65535)<<16)&4294967295,c^=o}return c^=r.length,c^=c>>>16,c=2246822507*(65535&c)+((2246822507*(c>>>16)&65535)<<16)&4294967295,c^=c>>>13,c=3266489909*(65535&c)+((3266489909*(c>>>16)&65535)<<16)&4294967295,c^=c>>>16,c>>>0}class i{constructor(){this.count=0,this.hash=0}update(){for(let e=0;e>>17,e*=461845907,this.count=this.count+1;let n=this.hash^e;n=n<<13|n>>>19,n=5*n+3864292196,this.hash=n}}}finish(){let e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,e*=3266489909,e^=e>>>16,e}static hashStuff(){const e=new i;return e.update.apply(e,arguments),e.finish()}}function o(e){return e?"string"==typeof e?r(e):e.hashCode():-1}function s(e,t){return e?e.equals(t):e===t}function a(e){return null===e?"null":e}function c(e){return Array.isArray(e)?"["+e.map(a).join(", ")+"]":"null"}const u="h-";class l{constructor(e,t){this.data={},this.hashFunction=e||o,this.equalsFunction=t||s}add(e){const t=u+this.hashFunction(e);if(t in this.data){const n=this.data[t];for(let t=0;te.startsWith(u))).flatMap((e=>this.data[e]),this)}toString(){return c(this.values())}get length(){return Object.keys(this.data).filter((e=>e.startsWith(u))).map((e=>this.data[e].length),this).reduce(((e,t)=>e+t),0)}}class h{hashCode(){const e=new i;return this.updateHashCode(e),e.finish()}evaluate(e,t){}evalPrecedence(e,t){return this}static andContext(e,t){if(null===e||e===h.NONE)return t;if(null===t||t===h.NONE)return e;const n=new f(e,t);return 1===n.opnds.length?n.opnds[0]:n}static orContext(e,t){if(null===e)return t;if(null===t)return e;if(e===h.NONE||t===h.NONE)return h.NONE;const n=new p(e,t);return 1===n.opnds.length?n.opnds[0]:n}}class f extends h{constructor(e,t){super();const n=new l;e instanceof f?e.opnds.map((function(e){n.add(e)})):n.add(e),t instanceof f?t.opnds.map((function(e){n.add(e)})):n.add(t);const r=d(n);if(r.length>0){let e=null;r.map((function(t){(null===e||t.precedencee.toString()));return(e.length>3?e.slice(3):e).join("&&")}}class p extends h{constructor(e,t){super();const n=new l;e instanceof p?e.opnds.map((function(e){n.add(e)})):n.add(e),t instanceof p?t.opnds.map((function(e){n.add(e)})):n.add(t);const r=d(n);if(r.length>0){const e=r.sort((function(e,t){return e.compareTo(t)})),t=e[e.length-1];n.add(t)}this.opnds=Array.from(n.values())}equals(e){return this===e||e instanceof p&&t(this.opnds,e.opnds)}updateHashCode(e){e.update(this.opnds,"OR")}evaluate(e,t){for(let n=0;ne.toString()));return(e.length>3?e.slice(3):e).join("||")}}function d(e){const t=[];return e.values().map((function(e){e instanceof h.PrecedencePredicate&&t.push(e)})),t}function m(e,t){if(null===e){const e={state:null,alt:null,context:null,semanticContext:null};return t&&(e.reachesIntoOuterContext=0),e}{const n={};return n.state=e.state||null,n.alt=void 0===e.alt?null:e.alt,n.context=e.context||null,n.semanticContext=e.semanticContext||null,t&&(n.reachesIntoOuterContext=e.reachesIntoOuterContext||0,n.precedenceFilterSuppressed=e.precedenceFilterSuppressed||!1),n}}class y{constructor(e,t){this.checkContext(e,t),e=m(e),t=m(t,!0),this.state=null!==e.state?e.state:t.state,this.alt=null!==e.alt?e.alt:t.alt,this.context=null!==e.context?e.context:t.context,this.semanticContext=null!==e.semanticContext?e.semanticContext:null!==t.semanticContext?t.semanticContext:h.NONE,this.reachesIntoOuterContext=t.reachesIntoOuterContext,this.precedenceFilterSuppressed=t.precedenceFilterSuppressed}checkContext(e,t){null!==e.context&&void 0!==e.context||null!==t&&null!==t.context&&void 0!==t.context||(this.context=null)}hashCode(){const e=new i;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(e){return this===e||e instanceof y&&this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&(null===this.context?null===e.context:this.context.equals(e.context))&&this.semanticContext.equals(e.semanticContext)&&this.precedenceFilterSuppressed===e.precedenceFilterSuppressed}hashCodeForConfigSet(){const e=new i;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(e){return this===e||e instanceof y&&this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.semanticContext.equals(e.semanticContext)}toString(){return"("+this.state+","+this.alt+(null!==this.context?",["+this.context.toString()+"]":"")+(this.semanticContext!==h.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class v{constructor(e,t){this.start=e,this.stop=t}clone(){return new v(this.start,this.stop)}contains(e){return e>=this.start&&ethis.addInterval(e)),this),this}reduce(e){if(e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new v(t.start,n.stop),this.intervals.splice(e+1,1))}}complement(e,t){const n=new g;return n.addInterval(new v(e,t+1)),null!==this.intervals&&this.intervals.forEach((e=>n.removeRange(e))),n}contains(e){if(null===this.intervals)return!1;for(let t=0;tn.start&&e.stop=n.stop?(this.intervals.splice(t,1),t-=1):e.start"):t.push("'"+String.fromCharCode(r.start)+"'"):t.push("'"+String.fromCharCode(r.start)+"'..'"+String.fromCharCode(r.stop-1)+"'")}return t.length>1?"{"+t.join(", ")+"}":t[0]}toIndexString(){const t=[];for(let n=0;n"):t.push(r.start.toString()):t.push(r.start.toString()+".."+(r.stop-1).toString())}return t.length>1?"{"+t.join(", ")+"}":t[0]}toTokenString(e,t){const n=[];for(let r=0;r1?"{"+n.join(", ")+"}":n[0]}elementName(t,n,r){return r===e.EOF?"":r===e.EPSILON?"":t[r]||n[r]}get length(){return this.intervals.map((e=>e.length)).reduce(((e,t)=>e+t))}}class _{constructor(){this.atn=null,this.stateNumber=_.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(e){return e instanceof _&&this.stateNumber===e.stateNumber}isNonGreedyExitState(){return!1}addTransition(e,t){void 0===t&&(t=-1),0===this.transitions.length?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),-1===t?this.transitions.push(e):this.transitions.splice(t,1,e)}}_.INVALID_TYPE=0,_.BASIC=1,_.RULE_START=2,_.BLOCK_START=3,_.PLUS_BLOCK_START=4,_.STAR_BLOCK_START=5,_.TOKEN_START=6,_.RULE_STOP=7,_.BLOCK_END=8,_.STAR_LOOP_BACK=9,_.STAR_LOOP_ENTRY=10,_.PLUS_LOOP_BACK=11,_.LOOP_END=12,_.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],_.INVALID_STATE_NUMBER=-1;class b extends _{constructor(){return super(),this.stateType=_.RULE_STOP,this}}class w{constructor(e){if(null==e)throw"target cannot be null.";this.target=e,this.isEpsilon=!1,this.label=null}}w.EPSILON=1,w.RANGE=2,w.RULE=3,w.PREDICATE=4,w.ATOM=5,w.ACTION=6,w.SET=7,w.NOT_SET=8,w.WILDCARD=9,w.PRECEDENCE=10,w.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],w.serializationTypes={EpsilonTransition:w.EPSILON,RangeTransition:w.RANGE,RuleTransition:w.RULE,PredicateTransition:w.PREDICATE,AtomTransition:w.ATOM,ActionTransition:w.ACTION,SetTransition:w.SET,NotSetTransition:w.NOT_SET,WildcardTransition:w.WILDCARD,PrecedencePredicateTransition:w.PRECEDENCE};class x extends w{constructor(e,t,n,r){super(e),this.ruleIndex=t,this.precedence=n,this.followState=r,this.serializationType=w.RULE,this.isEpsilon=!0}matches(e,t,n){return!1}}class k extends w{constructor(t,n){super(t),this.serializationType=w.SET,null!=n?this.label=n:(this.label=new g,this.label.addOne(e.INVALID_TYPE))}matches(e,t,n){return this.label.contains(e)}toString(){return this.label.toString()}}class E extends k{constructor(e,t){super(e,t),this.serializationType=w.NOT_SET}matches(e,t,n){return e>=t&&e<=n&&!super.matches(e,t,n)}toString(){return"~"+super.toString()}}class S extends w{constructor(e){super(e),this.serializationType=w.WILDCARD}matches(e,t,n){return e>=t&&e<=n}toString(){return"."}}class T extends w{constructor(e){super(e)}}class A{}class O extends A{}class N extends O{}class P extends N{get ruleContext(){throw new Error("missing interface implementation")}}class C extends N{}class R extends C{}const L={toStringTree:function(e,t,n){t=t||null,null!==(n=n||null)&&(t=n.ruleNames);let r=L.getNodeText(e,t);r=function(e,t){return e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(r);const i=e.getChildCount();if(0===i)return r;let o="("+r+" ";i>0&&(r=L.toStringTree(e.getChild(0),t),o=o.concat(r));for(let n=1;n=0&&t0&&(e+=", "),this.returnStates[t]!==F.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+" "+this.parents[t]:e+="null"):e+="$";return e+"]"}}get length(){return this.returnStates.length}}class z extends F{constructor(e,t){let n=0;const r=new i;null!==e?r.update(e,t):r.update(1),n=r.finish(),super(n),this.parentCtx=e,this.returnState=t}getParent(e){return this.parentCtx}getReturnState(e){return this.returnState}equals(e){return this===e||e instanceof z&&this.hashCode()===e.hashCode()&&this.returnState===e.returnState&&(null==this.parentCtx?null==e.parentCtx:this.parentCtx.equals(e.parentCtx))}toString(){const e=null===this.parentCtx?"":this.parentCtx.toString();return 0===e.length?this.returnState===F.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+e}get length(){return 1}static create(e,t){return t===F.EMPTY_RETURN_STATE&&null===e?F.EMPTY:new z(e,t)}}class U extends z{constructor(){super(null,F.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(e){return null}getReturnState(e){return this.returnState}equals(e){return this===e}toString(){return"$"}}F.EMPTY=new U;const V="h-";class ${constructor(e,t){this.data={},this.hashFunction=e||o,this.equalsFunction=t||s}set(e,t){const n=V+this.hashFunction(e);if(n in this.data){const r=this.data[n];for(let n=0;ne.startsWith(V))).flatMap((e=>this.data[e]),this)}getKeys(){return this.entries().map((e=>e.key))}getValues(){return this.entries().map((e=>e.value))}toString(){return"["+this.entries().map((e=>"{"+e.key+":"+e.value+"}")).join(", ")+"]"}get length(){return Object.keys(this.data).filter((e=>e.startsWith(V))).map((e=>this.data[e].length),this).reduce(((e,t)=>e+t),0)}}function q(e,t){if(null==t&&(t=D.EMPTY),null===t.parentCtx||t===D.EMPTY)return F.EMPTY;const n=q(e,t.parentCtx),r=e.states[t.invokingState].transitions[0];return z.create(n,r.followState.stateNumber)}function K(e,t,n){if(e.isEmpty())return e;let r=n.get(e)||null;if(null!==r)return r;if(r=t.get(e),null!==r)return n.set(e,r),r;let i=!1,o=[];for(let r=0;rt.returnState&&(i[0]=t.returnState,i[1]=e.returnState);const o=new B([n,n],i);return null!==r&&r.set(e,t,o),o}const i=[e.returnState,t.returnState];let o=[e.parentCtx,t.parentCtx];e.returnState>t.returnState&&(i[0]=t.returnState,i[1]=e.returnState,o=[t.parentCtx,e.parentCtx]);const s=new B(o,i);return null!==r&&r.set(e,t,s),s}}(e,t,n,r);if(n){if(e instanceof U)return e;if(t instanceof U)return t}return e instanceof z&&(e=new B([e.getParent()],[e.returnState])),t instanceof z&&(t=new B([t.getParent()],[t.returnState])),function(e,t,n,r){if(null!==r){let n=r.get(e,t);if(null!==n)return F.trace_atn_sim&&console.log("mergeArrays a="+e+",b="+t+" -> previous"),n;if(n=r.get(t,e),null!==n)return F.trace_atn_sim&&console.log("mergeArrays a="+e+",b="+t+" -> previous"),n}let i=0,o=0,s=0,a=new Array(e.returnStates.length+t.returnStates.length).fill(0),c=new Array(e.returnStates.length+t.returnStates.length).fill(null);for(;i a"),e):u.equals(t)?(null!==r&&r.set(e,t,t),F.trace_atn_sim&&console.log("mergeArrays a="+e+",b="+t+" -> b"),t):(function(e){const t=new $;for(let n=0;n "+u),u)}(e,t,n,r)}class W{constructor(){this.data=[]}add(e){this.data[e]=!0}or(e){Object.keys(e.data).map((e=>this.add(e)),this)}remove(e){delete this.data[e]}has(e){return!0===this.data[e]}values(){return Object.keys(this.data)}minValue(){return Math.min.apply(null,this.values())}hashCode(){return i.hashStuff(this.values())}equals(e){return e instanceof W&&t(this.data,e.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.values().length}}class G{constructor(e){this.atn=e}getDecisionLookahead(e){if(null===e)return null;const t=e.transitions.length,n=[];for(let r=0;r=this.states.length)throw"Invalid state number.";const r=this.states[t];let i=this.nextTokens(r);if(!i.contains(e.EPSILON))return i;const o=new g;for(o.addSet(i),o.removeOne(e.EPSILON);null!==n&&n.invokingState>=0&&i.contains(e.EPSILON);){const t=this.states[n.invokingState].transitions[0];i=this.nextTokens(t.followState),o.addSet(i),o.removeOne(e.EPSILON),n=n.parentCtx}return i.contains(e.EPSILON)&&o.addOne(e.EOF),o}}Y.INVALID_ALT_NUMBER=0;class Q extends _{constructor(){super(),this.stateType=_.BASIC}}class X extends _{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class Z extends X{constructor(){return super(),this.endState=null,this}}class J extends _{constructor(){return super(),this.stateType=_.BLOCK_END,this.startState=null,this}}class ee extends _{constructor(){return super(),this.stateType=_.LOOP_END,this.loopBackState=null,this}}class te extends _{constructor(){return super(),this.stateType=_.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class ne extends X{constructor(){return super(),this.stateType=_.TOKEN_START,this}}class re extends X{constructor(){return super(),this.stateType=_.PLUS_LOOP_BACK,this}}class ie extends _{constructor(){return super(),this.stateType=_.STAR_LOOP_BACK,this}}class oe extends X{constructor(){return super(),this.stateType=_.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class se extends Z{constructor(){return super(),this.stateType=_.PLUS_BLOCK_START,this.loopBackState=null,this}}class ae extends Z{constructor(){return super(),this.stateType=_.STAR_BLOCK_START,this}}class ce extends Z{constructor(){return super(),this.stateType=_.BLOCK_START,this}}class ue extends w{constructor(e,t){super(e),this.label_=t,this.label=this.makeLabel(),this.serializationType=w.ATOM}makeLabel(){const e=new g;return e.addOne(this.label_),e}matches(e,t,n){return this.label_===e}toString(){return this.label_}}class le extends w{constructor(e,t,n){super(e),this.serializationType=w.RANGE,this.start=t,this.stop=n,this.label=this.makeLabel()}makeLabel(){const e=new g;return e.addRange(this.start,this.stop),e}matches(e,t,n){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class he extends w{constructor(e,t,n,r){super(e),this.serializationType=w.ACTION,this.ruleIndex=t,this.actionIndex=void 0===n?-1:n,this.isCtxDependent=void 0!==r&&r,this.isEpsilon=!0}matches(e,t,n){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class fe extends w{constructor(e,t){super(e),this.serializationType=w.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=t}matches(e,t,n){return!1}toString(){return"epsilon"}}class pe extends h{constructor(e,t,n){super(),this.ruleIndex=void 0===e?-1:e,this.predIndex=void 0===t?-1:t,this.isCtxDependent=void 0!==n&&n}evaluate(e,t){const n=this.isCtxDependent?t:null;return e.sempred(n,this.ruleIndex,this.predIndex)}updateHashCode(e){e.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(e){return this===e||e instanceof pe&&this.ruleIndex===e.ruleIndex&&this.predIndex===e.predIndex&&this.isCtxDependent===e.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}h.NONE=new pe;class de extends T{constructor(e,t,n,r){super(e),this.serializationType=w.PREDICATE,this.ruleIndex=t,this.predIndex=n,this.isCtxDependent=r,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new pe(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class me extends h{constructor(e){super(),this.precedence=void 0===e?0:e}evaluate(e,t){return e.precpred(t,this.precedence)}evalPrecedence(e,t){return e.precpred(t,this.precedence)?h.NONE:null}compareTo(e){return this.precedence-e.precedence}updateHashCode(e){e.update(this.precedence)}equals(e){return this===e||e instanceof me&&this.precedence===e.precedence}toString(){return"{"+this.precedence+">=prec}?"}}h.PrecedencePredicate=me;class ye extends T{constructor(e,t){super(e),this.serializationType=w.PRECEDENCE,this.precedence=t,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new me(this.precedence)}toString(){return this.precedence+" >= _p"}}class ve{constructor(e){void 0===e&&(e=null),this.readOnly=!1,this.verifyATN=null===e||e.verifyATN,this.generateRuleBypassTransitions=null!==e&&e.generateRuleBypassTransitions}}ve.defaultOptions=new ve,ve.defaultOptions.readOnly=!0;class ge{constructor(e){this.actionType=e,this.isPositionDependent=!1}hashCode(){const e=new i;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}}class _e extends ge{constructor(){super(6)}execute(e){e.skip()}toString(){return"skip"}}_e.INSTANCE=new _e;class be extends ge{constructor(e){super(0),this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e||e instanceof be&&this.channel===e.channel}toString(){return"channel("+this.channel+")"}}class we extends ge{constructor(e,t){super(1),this.ruleIndex=e,this.actionIndex=t,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e||e instanceof we&&this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex}}class xe extends ge{constructor(){super(3)}execute(e){e.more()}toString(){return"more"}}xe.INSTANCE=new xe;class ke extends ge{constructor(e){super(7),this.type=e}execute(e){e.type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e||e instanceof ke&&this.type===e.type}toString(){return"type("+this.type+")"}}class Ee extends ge{constructor(e){super(5),this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e||e instanceof Ee&&this.mode===e.mode}toString(){return"pushMode("+this.mode+")"}}class Se extends ge{constructor(){super(4)}execute(e){e.popMode()}toString(){return"popMode"}}Se.INSTANCE=new Se;class Te extends ge{constructor(e){super(2),this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e||e instanceof Te&&this.mode===e.mode}toString(){return"mode("+this.mode+")"}}function Ae(e,t){const n=[];return n[e-1]=t,n.map((function(e){return t}))}class Oe{constructor(e){null==e&&(e=ve.defaultOptions),this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){const t=this.reset(e);this.checkVersion(t),t&&this.skipUUID();const n=this.readATN();this.readStates(n,t),this.readRules(n,t),this.readModes(n);const r=[];return this.readSets(n,r,this.readInt.bind(this)),t&&this.readSets(n,r,this.readInt32.bind(this)),this.readEdges(n,r),this.readDecisions(n),this.readLexerActions(n,t),this.markPrecedenceDecisions(n),this.verifyATN(n),this.deserializationOptions.generateRuleBypassTransitions&&1===n.grammarType&&(this.generateRuleBypassTransitions(n),this.verifyATN(n)),n}reset(e){if(3===(e.charCodeAt?e.charCodeAt(0):e[0])){const t=function(e){const t=e.charCodeAt(0);return t>1?t-2:t+65534},n=e.split("").map(t);return n[0]=e.charCodeAt(0),this.data=n,this.pos=0,!0}return this.data=e,this.pos=0,!1}skipUUID(){let e=0;for(;e++<8;)this.readInt()}checkVersion(e){const t=this.readInt();if(!e&&4!==t)throw"Could not deserialize ATN with version "+t+" (expected 4)."}readATN(){const e=this.readInt(),t=this.readInt();return new Y(e,t)}readStates(e,t){let n,r,i;const o=[],s=[],a=this.readInt();for(let n=0;n0;)i.addTransition(c.transitions[u-1]),c.transitions=c.transitions.slice(-1);e.ruleToStartState[t].addTransition(new fe(i)),o.addTransition(new fe(a));const l=new Q;e.addState(l),l.addTransition(new ue(o,e.ruleToTokenType[t])),i.addTransition(new fe(l))}stateIsEndStateFor(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof oe))return null;const n=e.transitions[e.transitions.length-1].target;return n instanceof ee&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof b?e:null}markPrecedenceDecisions(e){for(let t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof b)}}checkCondition(e,t){if(!e)throw null==t&&(t="IllegalState"),t}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(t,n,r,i,o,s,a,c){const u=t.states[i];switch(n){case w.EPSILON:return new fe(u);case w.RANGE:return new le(u,0!==a?e.EOF:o,s);case w.RULE:return new x(t.states[o],s,a,u);case w.PREDICATE:return new de(u,o,s,0!==a);case w.PRECEDENCE:return new ye(u,o);case w.ATOM:return new ue(u,0!==a?e.EOF:o);case w.ACTION:return new he(u,o,s,0!==a);case w.SET:return new k(u,c[o]);case w.NOT_SET:return new E(u,c[o]);case w.WILDCARD:return new S(u);default:throw"The specified transition type: "+n+" is not valid."}}stateFactory(e,t){if(null===this.stateFactories){const e=[];e[_.INVALID_TYPE]=null,e[_.BASIC]=()=>new Q,e[_.RULE_START]=()=>new te,e[_.BLOCK_START]=()=>new ce,e[_.PLUS_BLOCK_START]=()=>new se,e[_.STAR_BLOCK_START]=()=>new ae,e[_.TOKEN_START]=()=>new ne,e[_.RULE_STOP]=()=>new b,e[_.BLOCK_END]=()=>new J,e[_.STAR_LOOP_BACK]=()=>new ie,e[_.STAR_LOOP_ENTRY]=()=>new oe,e[_.PLUS_LOOP_BACK]=()=>new re,e[_.LOOP_END]=()=>new ee,this.stateFactories=e}if(e>this.stateFactories.length||null===this.stateFactories[e])throw"The specified state type "+e+" is not valid.";{const n=this.stateFactories[e]();if(null!==n)return n.ruleIndex=t,n}}lexerActionFactory(e,t,n){if(null===this.actionFactories){const e=[];e[0]=(e,t)=>new be(e),e[1]=(e,t)=>new we(e,t),e[2]=(e,t)=>new Te(e),e[3]=(e,t)=>xe.INSTANCE,e[4]=(e,t)=>Se.INSTANCE,e[5]=(e,t)=>new Ee(e),e[6]=(e,t)=>_e.INSTANCE,e[7]=(e,t)=>new ke(e),this.actionFactories=e}if(e>this.actionFactories.length||null===this.actionFactories[e])throw"The specified lexer action type "+e+" is not valid.";return this.actionFactories[e](t,n)}}class Ne{syntaxError(e,t,n,r,i,o){}reportAmbiguity(e,t,n,r,i,o,s){}reportAttemptingFullContext(e,t,n,r,i,o){}reportContextSensitivity(e,t,n,r,i,o){}}class Pe extends Ne{constructor(){super()}syntaxError(e,t,n,r,i,o){console.error("line "+n+":"+r+" "+i)}}Pe.INSTANCE=new Pe;class Ce extends Ne{constructor(e){if(super(),null===e)throw"delegates";return this.delegates=e,this}syntaxError(e,t,n,r,i,o){this.delegates.map((s=>s.syntaxError(e,t,n,r,i,o)))}reportAmbiguity(e,t,n,r,i,o,s){this.delegates.map((a=>a.reportAmbiguity(e,t,n,r,i,o,s)))}reportAttemptingFullContext(e,t,n,r,i,o){this.delegates.map((s=>s.reportAttemptingFullContext(e,t,n,r,i,o)))}reportContextSensitivity(e,t,n,r,i,o){this.delegates.map((s=>s.reportContextSensitivity(e,t,n,r,i,o)))}}class Re{constructor(){this._listeners=[Pe.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(e){const t="4.13.1";t!==e&&console.log("ANTLR runtime and generated code versions disagree: "+t+"!="+e)}addErrorListener(e){this._listeners.push(e)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){const e=this.getLiteralNames(),t=this.getSymbolicNames(),n=e.length>t.length?e.length:t.length;this.tokenNames=[];for(let r=0;r";let n=t.text;return null===n&&(n=t.type===e.EOF?"":"<"+t.type+">"),n=n.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"),"'"+n+"'"}getErrorListenerDispatch(){return new Ce(this._listeners)}sempred(e,t,n){return!0}precpred(e,t){return!0}get atn(){return this._interp.atn}get state(){return this._stateNumber}set state(e){this._stateNumber=e}}Re.tokenTypeMapCache={},Re.ruleIndexMapCache={};class Le extends e{constructor(t,n,r,i,o){super(),this.source=void 0!==t?t:Le.EMPTY_SOURCE,this.type=void 0!==n?n:null,this.channel=void 0!==r?r:e.DEFAULT_CHANNEL,this.start=void 0!==i?i:-1,this.stop=void 0!==o?o:-1,this.tokenIndex=-1,null!==this.source[0]?(this.line=t[0].line,this.column=t[0].column):this.column=-1}clone(){const e=new Le(this.source,this.type,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,e.text=this.text,e}cloneWithType(t){const n=new Le(this.source,t,this.channel,this.start,this.stop);return n.tokenIndex=this.tokenIndex,n.line=this.line,n.column=this.column,t===e.EOF&&(n.text=""),n}toString(){let e=this.text;return e=null!==e?e.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+e+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(null!==this._text)return this._text;const e=this.getInputStream();if(null===e)return null;const t=e.size;return this.start"}set text(e){this._text=e}}Le.EMPTY_SOURCE=[null,null];class Ie{}class De extends Ie{constructor(e){super(),this.copyText=void 0!==e&&e}create(e,t,n,r,i,o,s,a){const c=new Le(e,t,r,i,o);return c.line=s,c.column=a,null!==n?c.text=n:this.copyText&&null!==e[1]&&(c.text=e[1].getText(i,o)),c}createThin(e,t){const n=new Le(null,e);return n.text=t,n}}De.DEFAULT=new De;class Me extends Error{constructor(e){super(e.message),Error.captureStackTrace&&Error.captureStackTrace(this,Me),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.offendingToken=null,this.offendingState=-1,null!==this.recognizer&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return null!==this.recognizer?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}}class je extends Me{constructor(e,t,n,r){super({message:"",recognizer:e,input:t,ctx:null}),this.startIndex=n,this.deadEndConfigs=r}toString(){let e="";return this.startIndex>=0&&this.startIndex":"\n"===t?"\\n":"\t"===t?"\\t":"\r"===t?"\\r":t}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(t){this._input.LA(1)!==e.EOF&&(t instanceof je?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(e){this._type=e}get line(){return this._interp.line}set line(e){this._interp.line=e}get column(){return this._interp.column}set column(e){this._interp.column=e}get text(){return null!==this._text?this._text:this._interp.getText(this._input)}set text(e){this._text=e}}function Be(e){return e.hashCodeForConfigSet()}function ze(e,t){return e===t||null!==e&&null!==t&&e.equalsForConfigSet(t)}Fe.DEFAULT_MODE=0,Fe.MORE=-2,Fe.SKIP=-3,Fe.DEFAULT_TOKEN_CHANNEL=e.DEFAULT_CHANNEL,Fe.HIDDEN=e.HIDDEN_CHANNEL,Fe.MIN_CHAR_VALUE=0,Fe.MAX_CHAR_VALUE=1114111;class Ue{constructor(e){this.configLookup=new l(Be,ze),this.fullCtx=void 0===e||e,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(e,t){if(void 0===t&&(t=null),this.readOnly)throw"This set is readonly";e.semanticContext!==h.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;const r=!this.fullCtx,i=H(n.context,e.context,r,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=i,!0}getStates(){const e=new l;for(let t=0;tQe.MAX_DFA_EDGE)return null;let n=e.edges[t-Qe.MIN_DFA_EDGE];return void 0===n&&(n=null),Qe.debug&&null!==n&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}computeTargetState(e,t,n){const r=new qe;return this.getReachableConfigSet(e,t.configs,r,n),0===r.items.length?(r.hasSemanticContext||this.addDFAEdge(t,n,$e.ERROR),$e.ERROR):this.addDFAEdge(t,n,null,r)}failOrAccept(t,n,r,i){if(null!==this.prevAccept.dfaState){const e=t.dfaState.lexerActionExecutor;return this.accept(n,e,this.startIndex,t.index,t.line,t.column),t.dfaState.prediction}if(i===e.EOF&&n.index===this.startIndex)return e.EOF;throw new je(this.recog,n,this.startIndex,r)}getReachableConfigSet(t,n,r,i){let o=Y.INVALID_ALT_NUMBER;for(let s=0;sQe.MAX_DFA_EDGE||(Qe.debug&&console.log("EDGE "+e+" -> "+n+" upon "+t),null===e.edges&&(e.edges=[]),e.edges[t-Qe.MIN_DFA_EDGE]=n),n}addDFAState(e){const t=new Ve(null,e);let n=null;for(let t=0;te.startsWith("k-"))).map((e=>this.data[e]),this)}}const Je={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(e,t){if(Je.allConfigsInRuleStopStates(t))return!0;if(e===Je.SLL&&t.hasSemanticContext){const e=new Ue;for(let n=0;n1)return!0;return!1},allSubsetsEqual:function(e){let t=null;for(let n=0;n "+s),0===s.items.length?null:s}removeAllConfigsNotInRuleStopState(t,n){if(et.allConfigsInRuleStopStates(t))return t;const r=new Ue(t.fullCtx);for(let i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(i),o!==Y.INVALID_ALT_NUMBER)?o:Y.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const t=[];for(let n=0;n0||r.state instanceof b&&r.context.hasEmptyPath())&&t.indexOf(r.alt)<0&&t.push(r.alt)}return 0===t.length?Y.INVALID_ALT_NUMBER:Math.min.apply(null,t)}splitAccordingToSemanticValidity(e,t){const n=new Ue(e.fullCtx),r=new Ue(e.fullCtx);for(let i=0;i=0&&(r+=1)}this.closureCheckingStopState(h,t,n,l,i,r,s)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const t=e.state;if(t.stateType!==_.STAR_LOOP_ENTRY)return!1;if(t.stateType!==_.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const n=e.context.length;for(let r=0;r=0?this.parser.ruleNames[e]:""}getEpsilonTarget(t,n,r,i,o,s){switch(n.serializationType){case w.RULE:return this.ruleTransition(t,n);case w.PRECEDENCE:return this.precedenceTransition(t,n,r,i,o);case w.PREDICATE:return this.predTransition(t,n,r,i,o);case w.ACTION:return this.actionTransition(t,n);case w.EPSILON:return new y({state:n.target},t);case w.ATOM:case w.RANGE:case w.SET:return s&&n.matches(e.EOF,0,1)?new y({state:n.target},t):null;default:return null}}actionTransition(e,t){if(this.debug){const e=-1===t.actionIndex?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+e)}return new y({state:t.target},e)}precedenceTransition(e,t,n,r,i){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+c(this.parser.getRuleInvocationStack())));let o=null;if(n&&r)if(i){const n=this._input.index;this._input.seek(this._startIndex);const r=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(n),r&&(o=new y({state:t.target},e))}else{const n=h.andContext(e.semanticContext,t.getPredicate());o=new y({state:t.target,semanticContext:n},e)}else o=new y({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}predTransition(e,t,n,r,i){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+c(this.parser.getRuleInvocationStack())));let o=null;if(n&&(t.isCtxDependent&&r||!t.isCtxDependent))if(i){const n=this._input.index;this._input.seek(this._startIndex);const r=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(n),r&&(o=new y({state:t.target},e))}else{const n=h.andContext(e.semanticContext,t.getPredicate());o=new y({state:t.target,semanticContext:n},e)}else o=new y({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}ruleTransition(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);const n=t.followState,r=z.create(e.context,n.stateNumber);return new y({state:t.target,context:r},e)}getConflictingAlts(e){const t=et.getConflictingAltSubsets(e);return et.getAlts(t)}getConflictingAltsOrUniqueAlt(e){let t=null;return e.uniqueAlt!==Y.INVALID_ALT_NUMBER?(t=new W,t.add(e.uniqueAlt)):t=e.conflictingAlts,t}getTokenName(t){if(t===e.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(t>=this.parser.literalNames.length&&t>=this.parser.symbolicNames.length))return(this.parser.literalNames[t]||this.parser.symbolicNames[t])+"<"+t+">";console.log(t+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+t}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const t=e.getDeadEndConfigs();for(let e=0;e0){const e=n.state.transitions[0];e instanceof ue?r="Atom "+this.getTokenName(e.label):e instanceof k&&(r=(e instanceof E?"~":"")+"Set "+e.set)}console.error(n.toString(this.parser,!0)+":"+r)}}noViableAlt(e,t,n,r){return new tt(this.parser,e,e.get(r),e.LT(1),n,t)}getUniqueAlt(e){let t=Y.INVALID_ALT_NUMBER;for(let n=0;n "+r+" upon "+this.getTokenName(n)),null===r)return null;if(r=this.addDFAState(e,r),null===t||n<-1||n>this.atn.maxTokenType)return r;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=r,this.debug){const t=null===this.parser?null:this.parser.literalNames,n=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+e.toString(t,n))}return r}addDFAState(e,t){if(t===$e.ERROR)return t;const n=e.states.get(t);return null!==n?(this.trace_atn_sim&&console.log("addDFAState "+t+" exists"),n):(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),this.trace_atn_sim&&console.log("addDFAState new "+t),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}reportAttemptingFullContext(e,t,n,r,i){if(this.debug||this.retry_debug){const t=new v(r,i+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(t))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,r,i,t,n)}reportContextSensitivity(e,t,n,r,i){if(this.debug||this.retry_debug){const t=new v(r,i+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(t))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,r,i,t,n)}reportAmbiguity(e,t,n,r,i,o,s){if(this.debug||this.retry_debug){const e=new v(n,r+1);console.log("reportAmbiguity "+o+":"+s+", input="+this.parser.getTokenStream().getText(e))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,r,i,o,s)}}class it{constructor(){this.cache=new $}add(e){if(e===F.EMPTY)return F.EMPTY;const t=this.cache.get(e)||null;return null!==t?t:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}}const ot={ATN:Y,ATNDeserializer:Oe,LexerATNSimulator:Qe,ParserATNSimulator:rt,PredictionMode:et,PredictionContextCache:it};class st{constructor(e,t,n){this.dfa=e,this.literalNames=t||[],this.symbolicNames=n||[]}toString(){if(null===this.dfa.s0)return null;let e="";const t=this.dfa.sortedStates();for(let n=0;n"),e=e.concat(this.getStateString(t)),e=e.concat("\n"))}}}return 0===e.length?null:e}getEdgeLabel(e){return 0===e?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}getStateString(e){const t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?null!==e.predicates?t+"=>"+c(e.predicates):t+"=>"+e.prediction.toString():t}}class at extends st{constructor(e){super(e,null)}getEdgeLabel(e){return"'"+String.fromCharCode(e)+"'"}}class ct{constructor(e,t){if(void 0===t&&(t=0),this.atnStartState=e,this.decision=t,this._states=new l,this.s0=null,this.precedenceDfa=!1,e instanceof oe&&e.isPrecedenceDecision){this.precedenceDfa=!0;const e=new Ve(null,new Ue);e.edges=[],e.isAcceptState=!1,e.requiresFullContext=!1,this.s0=e}}getPrecedenceStartState(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}setPrecedenceStartState(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}setPrecedenceDfa(e){if(this.precedenceDfa!==e){if(this._states=new l,e){const e=new Ve(null,new Ue);e.edges=[],e.isAcceptState=!1,e.requiresFullContext=!1,this.s0=e}else this.s0=null;this.precedenceDfa=e}}sortedStates(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}toString(e,t){return e=e||null,t=t||null,null===this.s0?"":new st(this,e,t).toString()}toLexerString(){return null===this.s0?"":new at(this).toString()}get states(){return this._states}}const ut={DFA:ct,DFASerializer:st,LexerDFASerializer:at,PredPrediction:Xe},lt={PredictionContext:F},ht={Interval:v,IntervalSet:g};class ft{visitTerminal(e){}visitErrorNode(e){}enterEveryRule(e){}exitEveryRule(e){}}class pt{visit(e){return Array.isArray(e)?e.map((function(e){return e.accept(this)}),this):e.accept(this)}visitChildren(e){return e.children?this.visit(e.children):null}visitTerminal(e){}visitErrorNode(e){}}class dt{walk(e,t){if(t instanceof R||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof C)e.visitTerminal(t);else{this.enterRule(e,t);for(let n=0;n=i.length)return""+n;const o=i[r]||null;return null===o||0===o.length?""+n:`${n} (${o})`}getConflictingAlts(e,t){if(null!==e)return e;const n=new W;for(let e=0;e=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);const n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}sync(t){if(this.inErrorRecoveryMode(t))return;const n=t._interp.atn.states[t.state],r=t.getTokenStream().LA(1),i=t.atn.nextTokens(n);if(i.contains(r))return this.nextTokensContext=null,void(this.nextTokenState=_.INVALID_STATE_NUMBER);if(i.contains(e.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=t._ctx,this.nextTokensState=t._stateNumber);else switch(n.stateType){case _.BLOCK_START:case _.STAR_BLOCK_START:case _.PLUS_BLOCK_START:case _.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(t))return;throw new yt(t);case _.PLUS_LOOP_BACK:case _.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const e=new g;e.addSet(t.getExpectedTokens());const n=e.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,n)}}}reportNoViableAlternative(t,n){const r=t.getTokenStream();let i;i=null!==r?n.startToken.type===e.EOF?"":r.getText(new v(n.startToken.tokenIndex,n.offendingToken.tokenIndex)):"";const o="no viable alternative at input "+this.escapeWSAndQuote(i);t.notifyErrorListeners(o,n.offendingToken,n)}reportInputMismatch(e,t){const n="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}reportFailedPredicate(e,t){const n="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const t=e.getCurrentToken(),n="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}recoverInline(e){const t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new yt(e)}singleTokenInsertion(e){const t=e.getTokenStream().LA(1),n=e._interp.atn,r=n.states[e.state].transitions[0].target;return!!n.nextTokens(r,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}singleTokenDeletion(e){const t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();const t=e.getCurrentToken();return this.reportMatch(e),t}return null}getMissingSymbol(t){const n=t.getCurrentToken(),r=this.getExpectedTokens(t).first();let i;i=r===e.EOF?"":"";let o=n;const s=t.getTokenStream().LT(-1);return o.type===e.EOF&&null!==s&&(o=s),t.getTokenFactory().create(o.source,r,i,e.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(t){if(null===t)return"";let n=t.text;return null===n&&(n=t.type===e.EOF?"":"<"+t.type+">"),this.escapeWSAndQuote(n)}escapeWSAndQuote(e){return"'"+(e=(e=(e=e.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(t){const n=t._interp.atn;let r=t._ctx;const i=new g;for(;null!==r&&r.invokingState>=0;){const e=n.states[r.invokingState].transitions[0],t=n.nextTokens(e.followState);i.addSet(t),r=r.parentCtx}return i.removeOne(e.EPSILON),i}consumeUntil(t,n){let r=t.getTokenStream().LA(1);for(;r!==e.EOF&&!n.contains(r);)t.consume(),r=t.getTokenStream().LA(1)}}class kt extends xt{constructor(){super()}recover(e,t){let n=e._ctx;for(;null!==n;)n.exception=t,n=n.parentCtx;throw new bt(t)}recoverInline(e){this.recover(e,new yt(e))}sync(e){}}const Et={RecognitionException:Me,NoViableAltException:tt,LexerNoViableAltException:je,InputMismatchException:yt,FailedPredicateException:vt,DiagnosticErrorListener:_t,BailErrorStrategy:kt,DefaultErrorStrategy:xt,ErrorListener:Ne};class St{constructor(e,t){if(this.name="",this.strdata=e,this.decodeToUnicodeCodePoints=t||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let e=0;e=this._size)throw"cannot consume EOF";this._index+=1}LA(t){if(0===t)return 0;t<0&&(t+=1);const n=this._index+t-1;return n<0||n>=this._size?e.EOF:this.data[n]}LT(e){return this.LA(e)}mark(){return-1}release(e){}seek(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}getText(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){let n="";for(let r=e;r<=t;r++)n+=String.fromCodePoint(this.data[r]);return n}return this.strdata.slice(e,t+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class Tt extends St{constructor(e,t){super(e,t)}}var At=M(92);const Ot="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class Nt extends Tt{static fromPath(e,t,n){if(!Ot)throw new Error("FileStream is only available when running in Node!");At.readFile(e,t,(function(e,t){let r=null;null!==t&&(r=new St(t,!0)),n(e,r)}))}constructor(e,t,n){if(!Ot)throw new Error("FileStream is only available when running in Node!");super(At.readFileSync(e,t||"utf-8"),n),this.fileName=e}}const Pt={fromString:function(e){return new St(e,!0)},fromBlob:function(e,t,n,r){const i=new window.FileReader;i.onload=function(e){const t=new St(e.target.result,!0);n(t)},i.onerror=r,i.readAsText(e,t)},fromBuffer:function(e,t){return new St(e.toString(t),!0)},fromPath:function(e,t,n){Nt.fromPath(e,t,n)},fromPathSync:function(e,t){return new Nt(e,t)}},Ct={arrayToString:c,stringToCharArray:function(e){let t=new Uint16Array(e.length);for(let n=0;n=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}fetch(t){if(this.fetchedEOF)return 0;for(let n=0;n=this.tokens.length&&(n=this.tokens.length-1);for(let o=t;o=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}adjustSeekIndex(e){return e}lazyInit(){-1===this.index&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(t,n){if(this.sync(t),t>=this.tokens.length)return-1;let r=this.tokens[t];for(;r.channel!==this.channel;){if(r.type===e.EOF)return-1;t+=1,this.sync(t),r=this.tokens[t]}return t}previousTokenOnChannel(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}getHiddenTokensToRight(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;const n=this.nextTokenOnChannel(e+1,Fe.DEFAULT_TOKEN_CHANNEL),r=e+1,i=-1===n?this.tokens.length-1:n;return this.filterForChannel(r,i,t)}getHiddenTokensToLeft(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;const n=this.previousTokenOnChannel(e-1,Fe.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;const r=n+1,i=e-1;return this.filterForChannel(r,i,t)}filterForChannel(e,t,n){const r=[];for(let i=e;i=this.tokens.length&&(r=this.tokens.length-1);let i="";for(let t=n;t=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(null!==this._parseListeners){const e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}triggerExitRuleEvent(){if(null!==this._parseListeners){const e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(e){this._input.tokenSource._factory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(null===e)throw"The current parser does not support an ATN with bypass alternatives.";let t=this.bypassAltsAtnCache[e];if(null===t){const n=new ve;n.generateRuleBypassTransitions=!0,t=new Oe(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}getInputStream(){return this.getTokenStream()}setInputStream(e){this.setTokenStream(e)}getTokenStream(){return this._input}setTokenStream(e){this._input=null,this.reset(),this._input=e}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;const r=t.line,i=t.column;this.getErrorListenerDispatch().syntaxError(this,t,r,i,e,n)}consume(){const t=this.getCurrentToken();t.type!==e.EOF&&this.getInputStream().consume();const n=null!==this._parseListeners&&this._parseListeners.length>0;if(this.buildParseTrees||n){let e;e=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(t):this._ctx.addTokenNode(t),e.invokingState=this.state,n&&this._parseListeners.forEach((function(t){e instanceof R||void 0!==e.isErrorNode&&e.isErrorNode()?t.visitErrorNode(e):e instanceof C&&t.visitTerminal(e)}))}return t}addContextToParseTree(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}getPrecedence(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,t,n,r){this.state=t,this._precedenceStack.push(r),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,t,n){const r=this._ctx;r.parentCtx=e,r.invokingState=t,r.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=r.start,this.buildParseTrees&&this._ctx.addChild(r),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);const t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}getInvokingContext(e){let t=this._ctx;for(;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}precpred(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(t){const n=this._interp.atn;let r=this._ctx;const i=n.states[this.state];let o=n.nextTokens(i);if(o.contains(t))return!0;if(!o.contains(e.EPSILON))return!1;for(;null!==r&&r.invokingState>=0&&o.contains(e.EPSILON);){const e=n.states[r.invokingState].transitions[0];if(o=n.nextTokens(e.followState),o.contains(t))return!0;r=r.parentCtx}return!(!o.contains(e.EPSILON)||t!==e.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){const e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}getRuleIndex(e){const t=this.getRuleIndexMap()[e];return null!==t?t:-1}getRuleInvocationStack(e){null===(e=e||null)&&(e=this._ctx);const t=[];for(;null!==e;){const n=e.ruleIndex;n<0?t.push("n/a"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let e=!1;for(let t=0;t0&&(e&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}getSourceName(){return this._input.sourceName}setTrace(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new Dt(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}Mt.bypassAltsAtnCache={};class jt extends C{constructor(e){super(),this.parentCtx=null,this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(null===this.symbol)return v.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new v(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===e.EOF?"":this.symbol.text}}class Ft extends jt{constructor(e){super(e)}isErrorNode(){return!0}accept(e){return e.visitErrorNode(this)}}class Bt extends D{constructor(e,t){super(e,t),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map((function(e){e instanceof Ft&&(this.children.push(e),e.parentCtx=this)}),this))}enterRule(e){}exitRule(e){}addChild(e){return null===this.children&&(this.children=[]),this.children.push(e),e}removeLastChild(){null!==this.children&&this.children.pop()}addTokenNode(e){const t=new jt(e);return this.addChild(t),t.parentCtx=this,t}addErrorNode(e){const t=new Ft(e);return this.addChild(t),t.parentCtx=this,t}getChild(e,t){if(t=t||null,null===this.children||e<0||e>=this.children.length)return null;if(null===t)return this.children[e];for(let n=0;n=this.children.length)return null;for(let n=0;n2&&void 0!==arguments[2]?arguments[2]:zt.DEFAULT_PROGRAM_NAME;n="number"==typeof e?e:e.tokenIndex;let i=this.getProgram(r),o=new $t(this.tokens,n,i.length,t);i.push(o)}insertBefore(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zt.DEFAULT_PROGRAM_NAME;n="number"==typeof e?e:e.tokenIndex;const i=this.getProgram(r),o=new Vt(this.tokens,n,i.length,t);i.push(o)}replaceSingle(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zt.DEFAULT_PROGRAM_NAME;this.replace(e,e,t,n)}replace(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:zt.DEFAULT_PROGRAM_NAME;if("number"!=typeof e&&(e=e.tokenIndex),"number"!=typeof t&&(t=t.tokenIndex),e>t||e<0||t<0||t>=this.tokens.size)throw new RangeError(`replace: range invalid: ${e}..${t}(size=${this.tokens.size})`);let i=this.getProgram(r),o=new qt(this.tokens,e,t,i.length,n);i.push(o)}delete(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zt.DEFAULT_PROGRAM_NAME;void 0===t&&(t=e),this.replace(e,t,null,n)}getProgram(e){let t=this.programs.get(e);return null==t&&(t=this.initializeProgram(e)),t}initializeProgram(e){const t=[];return this.programs.set(e,t),t}getText(t){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:zt.DEFAULT_PROGRAM_NAME;n=t instanceof v?t:new v(0,this.tokens.size-1),"string"==typeof t&&(r=t);const i=this.programs.get(r);let o=n.start,s=n.stop;if(s>this.tokens.size-1&&(s=this.tokens.size-1),o<0&&(o=0),null==i||0===i.length)return this.tokens.getText(new v(o,s));let a=[],c=this.reduceToSingleOperationPerIndex(i),u=o;for(;u<=s&&u=this.tokens.size-1&&a.push(e.text.toString());return a.join("")}reduceToSingleOperationPerIndex(e){for(let t=0;tr.index&&t.index<=r.lastIndex&&(e[t.instructionIndex]=void 0);let o=this.getKindOfOps(e,qt,t);for(let t of o){if(t.index>=r.index&&t.lastIndex<=r.lastIndex){e[t.instructionIndex]=void 0;continue}let n=t.lastIndexr.lastIndex;if(null!=t.text||null!=r.text||n){if(!n)throw new Error(`replace op boundaries of ${r} overlap with previous ${t}`)}else e[t.instructionIndex]=void 0,r.index=Math.min(t.index,r.index),r.lastIndex=Math.max(t.lastIndex,r.lastIndex)}}for(let t=0;t=n.index&&r.index<=n.lastIndex)throw new Error(`insert op ${r} within boundaries of previous ${n}`)}else n.text=this.catOpText(r.text,n.text),e[t]=void 0}let t=new Map;for(let n of e)if(null!=n){if(null!=t.get(n.index))throw new Error("should only be one op per index");t.set(n.index,n)}return t}catOpText(e,t){let n="",r="";return null!=e&&(n=e.toString()),null!=t&&(r=t.toString()),n+r}getKindOfOps(e,t,n){return e.slice(0,n).filter((e=>e&&e instanceof t))}}class Ut{constructor(e,t,n,r){this.tokens=e,this.instructionIndex=n,this.index=t,this.text=void 0===r?"":r}toString(){let e=this.constructor.name;const t=e.indexOf("$");return e=e.substring(t+1,e.length),"<"+e+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class Vt extends Ut{constructor(e,t,n,r){super(e,t,n,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==e.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}}class $t extends Vt{constructor(e,t,n,r){super(e,t+1,n,r)}}class qt extends Ut{constructor(e,t,n,r,i){super(e,t,r,i),this.lastIndex=n}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"":"'}}const Kt={atn:ot,dfa:ut,context:lt,misc:ht,tree:mt,error:Et,Token:e,CommonToken:Le,CharStreams:Pt,CharStream:Tt,InputStream:Tt,CommonTokenStream:It,Lexer:Fe,Parser:Mt,ParserRuleContext:Bt,Interval:v,IntervalSet:g,LL1Analyzer:G,Utils:Ct,TokenStreamRewriter:zt}})();var F=j.ZP;function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}function z(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{defaultValue:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e=V(this,t,[n]);var r=n.defaultValue,i=n.description,o=n.sensitive,s=n.nullable;return e.__class="TerraformVariable",e.defaultValue=r||null,e.description=i||null,e.sensitive=o||!1,e.nullable=s||!1,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&K(e,t)}(t,e),n=t,(r=[{key:"formattedName",get:function(){var e="variable"===this.category?"var":"local";return"output"===this.category?null:"".concat(e,".").concat(this.name)}}])&&z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(e.Variable);function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function G(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{isDynamic:!1};return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=Q(this,t,[n])).isDynamic=n.isDynamic||!1,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&J(e,t)}(t,e),n=t,(r=[{key:"isVariable",get:function(){return null!==this.value&&"string"==typeof this.value&&(this.value.startsWith("var.")||this.value.startsWith("local."))}}])&&G(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(e.ComponentAttribute);function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function ne(e,t){for(var n=0;n0){var e=this.fieldsTree.pop();e.value.push(this.currentObjectField),this.currentObjectField=e}else this.currentComponent.attributes.push(this.currentObjectField),this.currentObjectField=null}},{key:"enterBlocktype",value:function(){}},{key:"exitBlocktype",value:function(){}},{key:"enterResourcetype",value:function(e){var t=this,n=ye(e);if(this.currentComponent.definition=this.definitions.find((function(e){return e.blockType===t.currentBlockType&&e.type===n}))||new p({blockType:this.currentBlockType,type:n}),"provider"===this.currentBlockType){var r="".concat(n,".").concat(n);this.currentComponent.externalId=n,this.currentComponent.id=this.createIdFromTypeExternalId(r)}}},{key:"exitResourcetype",value:function(){}},{key:"enterName",value:function(){}},{key:"exitName",value:function(e){this.currentComponent?this.currentComponent.externalId=ye(e):this.currentVariable&&(this.currentVariable.name=ye(e))}},{key:"enterLabel",value:function(){}},{key:"exitLabel",value:function(){}},{key:"enterBlockbody",value:function(){}},{key:"exitBlockbody",value:function(){}},{key:"enterArgument",value:function(e){var t;if(null!==(t=e.expression())&&void 0!==t&&null!==(t=t.section())&&void 0!==t&&t.map_()){this.currentObjectField&&this.fieldsTree.push(this.currentObjectField);var n=e.identifier().getText();this.currentObjectField=new ee({name:n,type:"Object",value:[],definition:this.getAttributeDefinition(this.currentObjectField||this.currentComponent,n)})}this.isVariable()?(this.currentVariableField=e.identifier().getText(),"default"===this.currentVariableField&&(this.currentVariableField="defaultValue")):"local"===this.currentBlockType?(this.currentVariable=new H({category:"local",name:ye(e.identifier())}),this.currentVariableField="value"):this.currentField=new ee}},{key:"exitArgument",value:function(e){var t,n,r=this;if(this.isVariable()){var i=e.identifier().getText();"description"===i?this.currentVariable.description=ye(e.expression()):"sensitive"!==i&&"nullable"!==i||(this.currentVariable[i]="true"===ye(e.expression()))}else if("local"===this.currentBlockType)this.addVariable();else if(this.currentField)this.currentField.name=e.identifier().getText(),this.currentObjectField?(this.currentObjectField.value.push(this.currentField),this.currentField.definition=this.getAttributeDefinition(this.currentObjectField,this.currentField.name)):(this.currentComponent.attributes.push(this.currentField),this.currentField.definition=this.getAttributeDefinition(this.currentComponent,this.currentField.name));else if(this.currentObjectField.name=e.identifier().getText(),this.fieldsTree.length>0){var o=this.fieldsTree.pop();o.value.push(this.currentObjectField),this.currentObjectField=o}else this.currentComponent.attributes.push(this.currentObjectField),this.currentObjectField=null;if("Reference"===(null===(t=this.currentField)||void 0===t||null===(t=t.definition)||void 0===t?void 0:t.type)&&/([^.]+\.[^.]+)/.exec(this.currentField.value)&&(Array.isArray(this.currentField.value)?this.currentField.value=this.currentField.value.map((function(e){var t=/([^.]+\.[^.]+)\.([^.]+)/.exec(e);return r.createIdFromTypeExternalId(t[1])})):this.currentField.value=this.createIdFromTypeExternalId(this.currentField.value)),"Link"===(null===(n=this.currentField)||void 0===n||null===(n=n.definition)||void 0===n?void 0:n.type)){this.currentField.type="Array",Array.isArray(this.currentField.value)&&(this.currentField.value=this.currentField.value.map((function(e){var t=/([^.]+\.[^.]+)\.([^.]+)/.exec(e);return r.createIdFromTypeExternalId(t[1])})));var s=/([^.]+\.[^.]+)(\.([^.]+))?/.exec(this.currentField.value);s&&(this.currentField.value=[this.createIdFromTypeExternalId(s[1])])}this.currentField=null}},{key:"createIdFromTypeExternalId",value:function(e){if(this.ids.has(e))return this.ids.get(e);var t="id_".concat(this.idCounter);return this.idCounter+=1,this.ids.set(e,t),t}},{key:"enterIdentifier",value:function(){}},{key:"exitIdentifier",value:function(){}},{key:"enterIdentifierchain",value:function(){}},{key:"exitIdentifierchain",value:function(){}},{key:"enterInline_index",value:function(){}},{key:"exitInline_index",value:function(){}},{key:"enterExpression",value:function(){}},{key:"exitExpression",value:function(){}},{key:"enterForloop",value:function(){}},{key:"exitForloop",value:function(){}},{key:"enterSection",value:function(e){var t;if(!this.currentField&&!this.isVariable()&&null!==(t=e.val())&&void 0!==t&&t.identifier()){var n=ye(e.val());this.currentField=new ee({type:"String",value:"null"===n?null:n})}}},{key:"exitSection",value:function(){}},{key:"enterVal",value:function(){}},{key:"getFieldValueTypeFromContext",value:function(e){if(e.BOOL())return{value:"true"===e.BOOL().getText(),type:"Boolean"};if(e.signed_number())return{value:parseFloat(e.signed_number().getText()),type:"Number"};var t=ye(e);return{value:"null"===t?null:t,type:"String"}}},{key:"exitVal",value:function(e){var t=this.getFieldValueTypeFromContext(e),n=t.value,r=t.type;if(this.isVariable()||"local"===this.currentBlockType){var i=this.attributeTypeToVariableType(r);Array.isArray(this.currentVariable[this.currentVariableField])?(this.currentVariable[this.currentVariableField].push(n),"defaultValue"!==this.currentVariableField&&"value"!==this.currentVariableField||(this.currentVariable.type="list(".concat(i,")"))):(this.currentVariable[this.currentVariableField]=n,"defaultValue"!==this.currentVariableField&&"value"!==this.currentVariableField||(this.currentVariable.type=i))}else"Array"===this.currentField.type?this.currentField.value.push(n):(this.currentField.value=n,this.currentField.type=r)}},{key:"enterFunctioncall",value:function(){}},{key:"exitFunctioncall",value:function(){}},{key:"enterFunctionname",value:function(){}},{key:"exitFunctionname",value:function(){}},{key:"enterFunctionarguments",value:function(){}},{key:"exitFunctionarguments",value:function(){}},{key:"enterIndex",value:function(){}},{key:"exitIndex",value:function(){}},{key:"enterFiledecl",value:function(){}},{key:"exitFiledecl",value:function(){}},{key:"enterList_",value:function(){this.currentField?this.currentField&&(this.currentField.type="Array",this.currentField.value=[]):this.currentField=new ee({type:"Array",value:[]}),this.isVariable()?this.currentVariable[this.currentVariableField]=[]:"local"===this.currentBlockType&&(this.currentVariable.value=[])}},{key:"exitList_",value:function(){this.currentField&&(this.currentField.type="Array")}},{key:"enterMap_",value:function(){}},{key:"exitMap_",value:function(){}},{key:"enterString",value:function(){}},{key:"exitString",value:function(){}},{key:"enterNumber",value:function(){}},{key:"exitNumber",value:function(){}},{key:"enterSigned_number",value:function(){}},{key:"exitSigned_number",value:function(){}}])&&le(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(F.tree.ParseTreeListener);function ge(e){return ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ge(e)}function _e(e,t,n){return t=we(t),function(e,t){if(t&&("object"===ge(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,be()?Reflect.construct(t,n||[],we(e).constructor):t.apply(e,n))}function be(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(be=function(){return!!e})()}function we(e){return we=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},we(e)}function xe(e,t){return xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},xe(e,t)}function ke(e,t,n){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ee(e){var t=function(e,t){if("object"!=ge(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=ge(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ge(t)?t:t+""}var Se=(new F.atn.ATNDeserializer).deserialize([4,0,49,390,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,5,39,261,8,39,10,39,12,39,264,9,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,4,41,275,8,41,11,41,12,41,276,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,288,8,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,5,43,305,8,43,10,43,12,43,308,9,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44,330,8,44,10,44,12,44,333,9,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,5,45,343,8,45,10,45,12,45,346,9,45,1,45,1,45,1,46,1,46,5,46,352,8,46,10,46,12,46,355,9,46,1,47,1,47,1,47,3,47,360,8,47,1,47,5,47,363,8,47,10,47,12,47,366,9,47,1,47,1,47,1,48,1,48,1,48,1,48,5,48,374,8,48,10,48,12,48,377,9,48,1,48,1,48,1,48,1,48,1,48,1,49,4,49,385,8,49,11,49,12,49,386,1,49,1,49,4,262,306,331,375,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,0,61,30,63,31,65,32,67,33,69,34,71,35,73,36,75,37,77,38,79,39,81,40,83,41,85,42,87,43,89,44,91,45,93,46,95,47,97,48,99,49,1,0,6,1,0,48,57,3,0,10,10,13,13,34,34,2,0,65,90,97,122,5,0,45,45,48,57,65,90,95,95,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,400,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,1,101,1,0,0,0,3,111,1,0,0,0,5,120,1,0,0,0,7,125,1,0,0,0,9,132,1,0,0,0,11,139,1,0,0,0,13,146,1,0,0,0,15,148,1,0,0,0,17,154,1,0,0,0,19,158,1,0,0,0,21,160,1,0,0,0,23,162,1,0,0,0,25,166,1,0,0,0,27,177,1,0,0,0,29,179,1,0,0,0,31,181,1,0,0,0,33,183,1,0,0,0,35,188,1,0,0,0,37,190,1,0,0,0,39,192,1,0,0,0,41,194,1,0,0,0,43,196,1,0,0,0,45,198,1,0,0,0,47,201,1,0,0,0,49,203,1,0,0,0,51,206,1,0,0,0,53,209,1,0,0,0,55,212,1,0,0,0,57,215,1,0,0,0,59,218,1,0,0,0,61,220,1,0,0,0,63,229,1,0,0,0,65,238,1,0,0,0,67,241,1,0,0,0,69,243,1,0,0,0,71,245,1,0,0,0,73,247,1,0,0,0,75,249,1,0,0,0,77,251,1,0,0,0,79,253,1,0,0,0,81,269,1,0,0,0,83,274,1,0,0,0,85,287,1,0,0,0,87,289,1,0,0,0,89,321,1,0,0,0,91,338,1,0,0,0,93,349,1,0,0,0,95,359,1,0,0,0,97,369,1,0,0,0,99,384,1,0,0,0,101,102,5,116,0,0,102,103,5,101,0,0,103,104,5,114,0,0,104,105,5,114,0,0,105,106,5,97,0,0,106,107,5,102,0,0,107,108,5,111,0,0,108,109,5,114,0,0,109,110,5,109,0,0,110,2,1,0,0,0,111,112,5,114,0,0,112,113,5,101,0,0,113,114,5,115,0,0,114,115,5,111,0,0,115,116,5,117,0,0,116,117,5,114,0,0,117,118,5,99,0,0,118,119,5,101,0,0,119,4,1,0,0,0,120,121,5,100,0,0,121,122,5,97,0,0,122,123,5,116,0,0,123,124,5,97,0,0,124,6,1,0,0,0,125,126,5,111,0,0,126,127,5,117,0,0,127,128,5,116,0,0,128,129,5,112,0,0,129,130,5,117,0,0,130,131,5,116,0,0,131,8,1,0,0,0,132,133,5,108,0,0,133,134,5,111,0,0,134,135,5,99,0,0,135,136,5,97,0,0,136,137,5,108,0,0,137,138,5,115,0,0,138,10,1,0,0,0,139,140,5,109,0,0,140,141,5,111,0,0,141,142,5,100,0,0,142,143,5,117,0,0,143,144,5,108,0,0,144,145,5,101,0,0,145,12,1,0,0,0,146,147,5,61,0,0,147,14,1,0,0,0,148,149,5,108,0,0,149,150,5,111,0,0,150,151,5,99,0,0,151,152,5,97,0,0,152,153,5,108,0,0,153,16,1,0,0,0,154,155,5,118,0,0,155,156,5,97,0,0,156,157,5,114,0,0,157,18,1,0,0,0,158,159,5,63,0,0,159,20,1,0,0,0,160,161,5,58,0,0,161,22,1,0,0,0,162,163,5,102,0,0,163,164,5,111,0,0,164,165,5,114,0,0,165,24,1,0,0,0,166,167,5,106,0,0,167,168,5,115,0,0,168,169,5,111,0,0,169,170,5,110,0,0,170,171,5,101,0,0,171,172,5,110,0,0,172,173,5,99,0,0,173,174,5,111,0,0,174,175,5,100,0,0,175,176,5,101,0,0,176,26,1,0,0,0,177,178,5,44,0,0,178,28,1,0,0,0,179,180,5,91,0,0,180,30,1,0,0,0,181,182,5,93,0,0,182,32,1,0,0,0,183,184,5,102,0,0,184,185,5,105,0,0,185,186,5,108,0,0,186,187,5,101,0,0,187,34,1,0,0,0,188,189,5,43,0,0,189,36,1,0,0,0,190,191,5,45,0,0,191,38,1,0,0,0,192,193,5,47,0,0,193,40,1,0,0,0,194,195,5,37,0,0,195,42,1,0,0,0,196,197,5,62,0,0,197,44,1,0,0,0,198,199,5,62,0,0,199,200,5,61,0,0,200,46,1,0,0,0,201,202,5,60,0,0,202,48,1,0,0,0,203,204,5,60,0,0,204,205,5,61,0,0,205,50,1,0,0,0,206,207,5,61,0,0,207,208,5,61,0,0,208,52,1,0,0,0,209,210,5,33,0,0,210,211,5,61,0,0,211,54,1,0,0,0,212,213,5,38,0,0,213,214,5,38,0,0,214,56,1,0,0,0,215,216,5,124,0,0,216,217,5,124,0,0,217,58,1,0,0,0,218,219,7,0,0,0,219,60,1,0,0,0,220,221,5,118,0,0,221,222,5,97,0,0,222,223,5,114,0,0,223,224,5,105,0,0,224,225,5,97,0,0,225,226,5,98,0,0,226,227,5,108,0,0,227,228,5,101,0,0,228,62,1,0,0,0,229,230,5,112,0,0,230,231,5,114,0,0,231,232,5,111,0,0,232,233,5,118,0,0,233,234,5,105,0,0,234,235,5,100,0,0,235,236,5,101,0,0,236,237,5,114,0,0,237,64,1,0,0,0,238,239,5,105,0,0,239,240,5,110,0,0,240,66,1,0,0,0,241,242,5,42,0,0,242,68,1,0,0,0,243,244,5,46,0,0,244,70,1,0,0,0,245,246,5,123,0,0,246,72,1,0,0,0,247,248,5,125,0,0,248,74,1,0,0,0,249,250,5,40,0,0,250,76,1,0,0,0,251,252,5,41,0,0,252,78,1,0,0,0,253,254,5,60,0,0,254,255,5,60,0,0,255,256,5,69,0,0,256,257,5,79,0,0,257,258,5,70,0,0,258,262,1,0,0,0,259,261,9,0,0,0,260,259,1,0,0,0,261,264,1,0,0,0,262,263,1,0,0,0,262,260,1,0,0,0,263,265,1,0,0,0,264,262,1,0,0,0,265,266,5,69,0,0,266,267,5,79,0,0,267,268,5,70,0,0,268,80,1,0,0,0,269,270,5,110,0,0,270,271,5,117,0,0,271,272,5,108,0,0,272,82,1,0,0,0,273,275,3,59,29,0,274,273,1,0,0,0,275,276,1,0,0,0,276,274,1,0,0,0,276,277,1,0,0,0,277,84,1,0,0,0,278,279,5,116,0,0,279,280,5,114,0,0,280,281,5,117,0,0,281,288,5,101,0,0,282,283,5,102,0,0,283,284,5,97,0,0,284,285,5,108,0,0,285,286,5,115,0,0,286,288,5,101,0,0,287,278,1,0,0,0,287,282,1,0,0,0,288,86,1,0,0,0,289,290,5,60,0,0,290,291,5,60,0,0,291,292,5,68,0,0,292,293,5,69,0,0,293,294,5,83,0,0,294,295,5,67,0,0,295,296,5,82,0,0,296,297,5,73,0,0,297,298,5,80,0,0,298,299,5,84,0,0,299,300,5,73,0,0,300,301,5,79,0,0,301,302,5,78,0,0,302,306,1,0,0,0,303,305,9,0,0,0,304,303,1,0,0,0,305,308,1,0,0,0,306,307,1,0,0,0,306,304,1,0,0,0,307,309,1,0,0,0,308,306,1,0,0,0,309,310,5,68,0,0,310,311,5,69,0,0,311,312,5,83,0,0,312,313,5,67,0,0,313,314,5,82,0,0,314,315,5,73,0,0,315,316,5,80,0,0,316,317,5,84,0,0,317,318,5,73,0,0,318,319,5,79,0,0,319,320,5,78,0,0,320,88,1,0,0,0,321,322,5,60,0,0,322,323,5,60,0,0,323,324,5,45,0,0,324,325,5,69,0,0,325,326,5,79,0,0,326,327,5,70,0,0,327,331,1,0,0,0,328,330,9,0,0,0,329,328,1,0,0,0,330,333,1,0,0,0,331,332,1,0,0,0,331,329,1,0,0,0,332,334,1,0,0,0,333,331,1,0,0,0,334,335,5,69,0,0,335,336,5,79,0,0,336,337,5,70,0,0,337,90,1,0,0,0,338,344,5,34,0,0,339,340,5,92,0,0,340,343,5,34,0,0,341,343,8,1,0,0,342,339,1,0,0,0,342,341,1,0,0,0,343,346,1,0,0,0,344,342,1,0,0,0,344,345,1,0,0,0,345,347,1,0,0,0,346,344,1,0,0,0,347,348,5,34,0,0,348,92,1,0,0,0,349,353,7,2,0,0,350,352,7,3,0,0,351,350,1,0,0,0,352,355,1,0,0,0,353,351,1,0,0,0,353,354,1,0,0,0,354,94,1,0,0,0,355,353,1,0,0,0,356,360,5,35,0,0,357,358,5,47,0,0,358,360,5,47,0,0,359,356,1,0,0,0,359,357,1,0,0,0,360,364,1,0,0,0,361,363,8,4,0,0,362,361,1,0,0,0,363,366,1,0,0,0,364,362,1,0,0,0,364,365,1,0,0,0,365,367,1,0,0,0,366,364,1,0,0,0,367,368,6,47,0,0,368,96,1,0,0,0,369,370,5,47,0,0,370,371,5,42,0,0,371,375,1,0,0,0,372,374,9,0,0,0,373,372,1,0,0,0,374,377,1,0,0,0,375,376,1,0,0,0,375,373,1,0,0,0,376,378,1,0,0,0,377,375,1,0,0,0,378,379,5,42,0,0,379,380,5,47,0,0,380,381,1,0,0,0,381,382,6,48,0,0,382,98,1,0,0,0,383,385,7,5,0,0,384,383,1,0,0,0,385,386,1,0,0,0,386,384,1,0,0,0,386,387,1,0,0,0,387,388,1,0,0,0,388,389,6,49,1,0,389,100,1,0,0,0,13,0,262,276,287,306,331,342,344,353,359,364,375,386,2,0,1,0,6,0,0]),Te=Se.decisionToState.map((function(e,t){return new F.dfa.DFA(e,t)})),Ae=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=_e(this,t,[e]))._interp=new F.atn.LexerATNSimulator(n,Se,Te,new F.atn.PredictionContextCache),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xe(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(F.Lexer);function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}function Ne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pe(e,t){for(var n=0;n'","'>='","'<'","'<='","'=='","'!='","'&&'","'||'","'variable'","'provider'","'in'","'*'","'.'","'{'","'}'","'('","')'",null,"'nul'"]),ke(Ae,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),ke(Ae,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","DIGIT","VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),Ae.EOF=F.Token.EOF,Ae.T__0=1,Ae.T__1=2,Ae.T__2=3,Ae.T__3=4,Ae.T__4=5,Ae.T__5=6,Ae.T__6=7,Ae.T__7=8,Ae.T__8=9,Ae.T__9=10,Ae.T__10=11,Ae.T__11=12,Ae.T__12=13,Ae.T__13=14,Ae.T__14=15,Ae.T__15=16,Ae.T__16=17,Ae.T__17=18,Ae.T__18=19,Ae.T__19=20,Ae.T__20=21,Ae.T__21=22,Ae.T__22=23,Ae.T__23=24,Ae.T__24=25,Ae.T__25=26,Ae.T__26=27,Ae.T__27=28,Ae.T__28=29,Ae.VARIABLE=30,Ae.PROVIDER=31,Ae.IN=32,Ae.STAR=33,Ae.DOT=34,Ae.LCURL=35,Ae.RCURL=36,Ae.LPAREN=37,Ae.RPAREN=38,Ae.EOF_=39,Ae.NULL_=40,Ae.NATURAL_NUMBER=41,Ae.BOOL=42,Ae.DESCRIPTION=43,Ae.MULTILINESTRING=44,Ae.STRING=45,Ae.IDENTIFIER=46,Ae.COMMENT=47,Ae.BLOCKCOMMENT=48,Ae.WS=49;var Be=(new F.atn.ATNDeserializer).deserialize([4,1,49,310,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,77,8,0,11,0,12,0,78,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,5,9,117,8,9,10,9,12,9,120,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,14,5,14,135,8,14,10,14,12,14,138,9,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,3,16,148,8,16,1,16,1,16,1,17,1,17,3,17,154,8,17,1,17,1,17,5,17,158,8,17,10,17,12,17,161,9,17,1,17,1,17,1,17,5,17,166,8,17,10,17,12,17,169,9,17,1,17,1,17,1,17,5,17,174,8,17,10,17,12,17,177,9,17,3,17,179,8,17,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,190,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,5,19,202,8,19,10,19,12,19,205,9,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,3,21,217,8,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,228,8,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,5,23,238,8,23,10,23,12,23,241,9,23,1,23,3,23,244,8,23,1,24,1,24,1,25,1,25,1,25,1,25,5,25,252,8,25,10,25,12,25,255,9,25,3,25,257,8,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,5,28,272,8,28,10,28,12,28,275,9,28,1,28,3,28,278,8,28,3,28,280,8,28,1,28,1,28,1,29,1,29,1,29,3,29,287,8,29,5,29,289,8,29,10,29,12,29,292,9,29,1,29,1,29,1,30,1,30,1,31,3,31,299,8,31,1,31,1,31,1,32,1,32,1,33,1,33,1,33,3,33,308,8,33,1,33,1,239,1,38,34,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,0,5,3,0,3,3,6,6,8,9,2,0,30,32,46,46,1,0,44,45,1,0,18,19,2,0,18,29,33,33,318,0,76,1,0,0,0,2,82,1,0,0,0,4,85,1,0,0,0,6,90,1,0,0,0,8,95,1,0,0,0,10,99,1,0,0,0,12,103,1,0,0,0,14,106,1,0,0,0,16,110,1,0,0,0,18,114,1,0,0,0,20,123,1,0,0,0,22,125,1,0,0,0,24,127,1,0,0,0,26,129,1,0,0,0,28,131,1,0,0,0,30,141,1,0,0,0,32,147,1,0,0,0,34,178,1,0,0,0,36,180,1,0,0,0,38,189,1,0,0,0,40,206,1,0,0,0,42,216,1,0,0,0,44,227,1,0,0,0,46,243,1,0,0,0,48,245,1,0,0,0,50,256,1,0,0,0,52,258,1,0,0,0,54,262,1,0,0,0,56,267,1,0,0,0,58,283,1,0,0,0,60,295,1,0,0,0,62,298,1,0,0,0,64,302,1,0,0,0,66,304,1,0,0,0,68,77,3,12,6,0,69,77,3,14,7,0,70,77,3,10,5,0,71,77,3,8,4,0,72,77,3,16,8,0,73,77,3,6,3,0,74,77,3,4,2,0,75,77,3,2,1,0,76,68,1,0,0,0,76,69,1,0,0,0,76,70,1,0,0,0,76,71,1,0,0,0,76,72,1,0,0,0,76,73,1,0,0,0,76,74,1,0,0,0,76,75,1,0,0,0,77,78,1,0,0,0,78,76,1,0,0,0,78,79,1,0,0,0,79,80,1,0,0,0,80,81,5,0,0,1,81,1,1,0,0,0,82,83,5,1,0,0,83,84,3,28,14,0,84,3,1,0,0,0,85,86,5,2,0,0,86,87,3,22,11,0,87,88,3,24,12,0,88,89,3,28,14,0,89,5,1,0,0,0,90,91,5,3,0,0,91,92,3,22,11,0,92,93,3,24,12,0,93,94,3,28,14,0,94,7,1,0,0,0,95,96,5,31,0,0,96,97,3,22,11,0,97,98,3,28,14,0,98,9,1,0,0,0,99,100,5,4,0,0,100,101,3,24,12,0,101,102,3,28,14,0,102,11,1,0,0,0,103,104,5,5,0,0,104,105,3,28,14,0,105,13,1,0,0,0,106,107,5,6,0,0,107,108,3,24,12,0,108,109,3,28,14,0,109,15,1,0,0,0,110,111,5,30,0,0,111,112,3,24,12,0,112,113,3,28,14,0,113,17,1,0,0,0,114,118,3,20,10,0,115,117,3,26,13,0,116,115,1,0,0,0,117,120,1,0,0,0,118,116,1,0,0,0,118,119,1,0,0,0,119,121,1,0,0,0,120,118,1,0,0,0,121,122,3,28,14,0,122,19,1,0,0,0,123,124,5,46,0,0,124,21,1,0,0,0,125,126,5,45,0,0,126,23,1,0,0,0,127,128,5,45,0,0,128,25,1,0,0,0,129,130,5,45,0,0,130,27,1,0,0,0,131,136,5,35,0,0,132,135,3,30,15,0,133,135,3,18,9,0,134,132,1,0,0,0,134,133,1,0,0,0,135,138,1,0,0,0,136,134,1,0,0,0,136,137,1,0,0,0,137,139,1,0,0,0,138,136,1,0,0,0,139,140,5,36,0,0,140,29,1,0,0,0,141,142,3,32,16,0,142,143,5,7,0,0,143,144,3,38,19,0,144,31,1,0,0,0,145,146,7,0,0,0,146,148,5,34,0,0,147,145,1,0,0,0,147,148,1,0,0,0,148,149,1,0,0,0,149,150,3,34,17,0,150,33,1,0,0,0,151,153,7,1,0,0,152,154,3,52,26,0,153,152,1,0,0,0,153,154,1,0,0,0,154,159,1,0,0,0,155,156,5,34,0,0,156,158,3,34,17,0,157,155,1,0,0,0,158,161,1,0,0,0,159,157,1,0,0,0,159,160,1,0,0,0,160,179,1,0,0,0,161,159,1,0,0,0,162,167,5,33,0,0,163,164,5,34,0,0,164,166,3,34,17,0,165,163,1,0,0,0,166,169,1,0,0,0,167,165,1,0,0,0,167,168,1,0,0,0,168,179,1,0,0,0,169,167,1,0,0,0,170,175,3,36,18,0,171,172,5,34,0,0,172,174,3,34,17,0,173,171,1,0,0,0,174,177,1,0,0,0,175,173,1,0,0,0,175,176,1,0,0,0,176,179,1,0,0,0,177,175,1,0,0,0,178,151,1,0,0,0,178,162,1,0,0,0,178,170,1,0,0,0,179,35,1,0,0,0,180,181,5,41,0,0,181,37,1,0,0,0,182,183,6,19,-1,0,183,190,3,42,21,0,184,185,5,37,0,0,185,186,3,38,19,0,186,187,5,38,0,0,187,190,1,0,0,0,188,190,3,40,20,0,189,182,1,0,0,0,189,184,1,0,0,0,189,188,1,0,0,0,190,203,1,0,0,0,191,192,10,4,0,0,192,193,3,64,32,0,193,194,3,38,19,5,194,202,1,0,0,0,195,196,10,2,0,0,196,197,5,10,0,0,197,198,3,38,19,0,198,199,5,11,0,0,199,200,3,38,19,3,200,202,1,0,0,0,201,191,1,0,0,0,201,195,1,0,0,0,202,205,1,0,0,0,203,201,1,0,0,0,203,204,1,0,0,0,204,39,1,0,0,0,205,203,1,0,0,0,206,207,5,12,0,0,207,208,3,32,16,0,208,209,5,32,0,0,209,210,3,38,19,0,210,211,5,11,0,0,211,212,3,38,19,0,212,41,1,0,0,0,213,217,3,56,28,0,214,217,3,58,29,0,215,217,3,44,22,0,216,213,1,0,0,0,216,214,1,0,0,0,216,215,1,0,0,0,217,43,1,0,0,0,218,228,5,40,0,0,219,228,3,62,31,0,220,228,3,60,30,0,221,228,3,32,16,0,222,228,5,42,0,0,223,228,5,43,0,0,224,228,3,54,27,0,225,228,3,46,23,0,226,228,5,39,0,0,227,218,1,0,0,0,227,219,1,0,0,0,227,220,1,0,0,0,227,221,1,0,0,0,227,222,1,0,0,0,227,223,1,0,0,0,227,224,1,0,0,0,227,225,1,0,0,0,227,226,1,0,0,0,228,45,1,0,0,0,229,230,3,48,24,0,230,231,5,37,0,0,231,232,3,50,25,0,232,233,5,38,0,0,233,244,1,0,0,0,234,235,5,13,0,0,235,239,5,37,0,0,236,238,9,0,0,0,237,236,1,0,0,0,238,241,1,0,0,0,239,240,1,0,0,0,239,237,1,0,0,0,240,242,1,0,0,0,241,239,1,0,0,0,242,244,5,38,0,0,243,229,1,0,0,0,243,234,1,0,0,0,244,47,1,0,0,0,245,246,5,46,0,0,246,49,1,0,0,0,247,257,1,0,0,0,248,253,3,38,19,0,249,250,5,14,0,0,250,252,3,38,19,0,251,249,1,0,0,0,252,255,1,0,0,0,253,251,1,0,0,0,253,254,1,0,0,0,254,257,1,0,0,0,255,253,1,0,0,0,256,247,1,0,0,0,256,248,1,0,0,0,257,51,1,0,0,0,258,259,5,15,0,0,259,260,3,38,19,0,260,261,5,16,0,0,261,53,1,0,0,0,262,263,5,17,0,0,263,264,5,37,0,0,264,265,3,38,19,0,265,266,5,38,0,0,266,55,1,0,0,0,267,279,5,15,0,0,268,273,3,38,19,0,269,270,5,14,0,0,270,272,3,38,19,0,271,269,1,0,0,0,272,275,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,277,1,0,0,0,275,273,1,0,0,0,276,278,5,14,0,0,277,276,1,0,0,0,277,278,1,0,0,0,278,280,1,0,0,0,279,268,1,0,0,0,279,280,1,0,0,0,280,281,1,0,0,0,281,282,5,16,0,0,282,57,1,0,0,0,283,290,5,35,0,0,284,286,3,30,15,0,285,287,5,14,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,284,1,0,0,0,289,292,1,0,0,0,290,288,1,0,0,0,290,291,1,0,0,0,291,293,1,0,0,0,292,290,1,0,0,0,293,294,5,36,0,0,294,59,1,0,0,0,295,296,7,2,0,0,296,61,1,0,0,0,297,299,7,3,0,0,298,297,1,0,0,0,298,299,1,0,0,0,299,300,1,0,0,0,300,301,3,66,33,0,301,63,1,0,0,0,302,303,7,4,0,0,303,65,1,0,0,0,304,307,5,41,0,0,305,306,5,34,0,0,306,308,5,41,0,0,307,305,1,0,0,0,307,308,1,0,0,0,308,67,1,0,0,0,27,76,78,118,134,136,147,153,159,167,175,178,189,201,203,216,227,239,243,253,256,273,277,279,286,290,298,307]),ze=Be.decisionToState.map((function(e,t){return new F.dfa.DFA(e,t)})),Ue=new F.atn.PredictionContextCache,Ve=function(e){function t(e){var n;return Ne(this,t),(n=Re(this,t,[e]))._interp=new F.atn.ParserATNSimulator(n,Be,ze,Ue),n.ruleNames=t.ruleNames,n.literalNames=t.literalNames,n.symbolicNames=t.symbolicNames,n}return De(t,e),Ce(t,[{key:"sempred",value:function(e,t,n){if(19===t)return this.expression_sempred(e,n);throw"No predicate with index:"+t}},{key:"expression_sempred",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,4);case 1:return this.precpred(this._ctx,2);default:throw"No predicate with index:"+t}}},{key:"file_",value:function(){var e=new $e(this,this._ctx,this.state);this.enterRule(e,0,t.RULE_file_);var n=0;try{this.enterOuterAlt(e,1),this.state=76,this._errHandler.sync(this),n=this._input.LA(1);do{switch(this.state=76,this._errHandler.sync(this),this._input.LA(1)){case 5:this.state=68,this.local();break;case 6:this.state=69,this.module();break;case 4:this.state=70,this.output();break;case 31:this.state=71,this.provider();break;case 30:this.state=72,this.variable();break;case 3:this.state=73,this.data();break;case 2:this.state=74,this.resource();break;case 1:this.state=75,this.terraform();break;default:throw new F.error.NoViableAltException(this)}this.state=78,this._errHandler.sync(this),n=this._input.LA(1)}while(!(-32&n)&&1<'","'>='","'<'","'<='","'=='","'!='","'&&'","'||'","'variable'","'provider'","'in'","'*'","'.'","'{'","'}'","'('","')'",null,"'nul'"]),je(Ve,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),je(Ve,"ruleNames",["file_","terraform","resource","data","provider","output","local","module","variable","block","blocktype","resourcetype","name","label","blockbody","argument","identifier","identifierchain","inline_index","expression","forloop","section","val","functioncall","functionname","functionarguments","index","filedecl","list_","map_","string","signed_number","operator_","number"]),Ve.EOF=F.Token.EOF,Ve.T__0=1,Ve.T__1=2,Ve.T__2=3,Ve.T__3=4,Ve.T__4=5,Ve.T__5=6,Ve.T__6=7,Ve.T__7=8,Ve.T__8=9,Ve.T__9=10,Ve.T__10=11,Ve.T__11=12,Ve.T__12=13,Ve.T__13=14,Ve.T__14=15,Ve.T__15=16,Ve.T__16=17,Ve.T__17=18,Ve.T__18=19,Ve.T__19=20,Ve.T__20=21,Ve.T__21=22,Ve.T__22=23,Ve.T__23=24,Ve.T__24=25,Ve.T__25=26,Ve.T__26=27,Ve.T__27=28,Ve.T__28=29,Ve.VARIABLE=30,Ve.PROVIDER=31,Ve.IN=32,Ve.STAR=33,Ve.DOT=34,Ve.LCURL=35,Ve.RCURL=36,Ve.LPAREN=37,Ve.RPAREN=38,Ve.EOF_=39,Ve.NULL_=40,Ve.NATURAL_NUMBER=41,Ve.BOOL=42,Ve.DESCRIPTION=43,Ve.MULTILINESTRING=44,Ve.STRING=45,Ve.IDENTIFIER=46,Ve.COMMENT=47,Ve.BLOCKCOMMENT=48,Ve.WS=49,Ve.RULE_file_=0,Ve.RULE_terraform=1,Ve.RULE_resource=2,Ve.RULE_data=3,Ve.RULE_provider=4,Ve.RULE_output=5,Ve.RULE_local=6,Ve.RULE_module=7,Ve.RULE_variable=8,Ve.RULE_block=9,Ve.RULE_blocktype=10,Ve.RULE_resourcetype=11,Ve.RULE_name=12,Ve.RULE_label=13,Ve.RULE_blockbody=14,Ve.RULE_argument=15,Ve.RULE_identifier=16,Ve.RULE_identifierchain=17,Ve.RULE_inline_index=18,Ve.RULE_expression=19,Ve.RULE_forloop=20,Ve.RULE_section=21,Ve.RULE_val=22,Ve.RULE_functioncall=23,Ve.RULE_functionname=24,Ve.RULE_functionarguments=25,Ve.RULE_index=26,Ve.RULE_filedecl=27,Ve.RULE_list_=28,Ve.RULE_map_=29,Ve.RULE_string=30,Ve.RULE_signed_number=31,Ve.RULE_operator_=32,Ve.RULE_number=33;var $e=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"local",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Ye):this.getTypedRuleContext(Ye,e)})),je(i,"module",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Qe):this.getTypedRuleContext(Qe,e)})),je(i,"output",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Ge):this.getTypedRuleContext(Ge,e)})),je(i,"provider",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(We):this.getTypedRuleContext(We,e)})),je(i,"variable",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Xe):this.getTypedRuleContext(Xe,e)})),je(i,"data",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(He):this.getTypedRuleContext(He,e)})),je(i,"resource",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Ke):this.getTypedRuleContext(Ke,e)})),je(i,"terraform",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(qe):this.getTypedRuleContext(qe,e)})),i.parser=e,i.ruleIndex=Ve.RULE_file_,i}return De(t,e),Ce(t,[{key:"EOF",value:function(){return this.getToken(Ve.EOF,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterFile_(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitFile_(this)}}])}(F.ParserRuleContext),qe=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_terraform,i}return De(t,e),Ce(t,[{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterTerraform(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitTerraform(this)}}])}(F.ParserRuleContext),Ke=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_resource,i}return De(t,e),Ce(t,[{key:"resourcetype",value:function(){return this.getTypedRuleContext(et,0)}},{key:"name",value:function(){return this.getTypedRuleContext(tt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterResource(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitResource(this)}}])}(F.ParserRuleContext),He=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_data,i}return De(t,e),Ce(t,[{key:"resourcetype",value:function(){return this.getTypedRuleContext(et,0)}},{key:"name",value:function(){return this.getTypedRuleContext(tt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterData(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitData(this)}}])}(F.ParserRuleContext),We=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_provider,i}return De(t,e),Ce(t,[{key:"PROVIDER",value:function(){return this.getToken(Ve.PROVIDER,0)}},{key:"resourcetype",value:function(){return this.getTypedRuleContext(et,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterProvider(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitProvider(this)}}])}(F.ParserRuleContext),Ge=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_output,i}return De(t,e),Ce(t,[{key:"name",value:function(){return this.getTypedRuleContext(tt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterOutput(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitOutput(this)}}])}(F.ParserRuleContext),Ye=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_local,i}return De(t,e),Ce(t,[{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterLocal(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitLocal(this)}}])}(F.ParserRuleContext),Qe=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_module,i}return De(t,e),Ce(t,[{key:"name",value:function(){return this.getTypedRuleContext(tt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterModule(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitModule(this)}}])}(F.ParserRuleContext),Xe=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_variable,i}return De(t,e),Ce(t,[{key:"VARIABLE",value:function(){return this.getToken(Ve.VARIABLE,0)}},{key:"name",value:function(){return this.getTypedRuleContext(tt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterVariable(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitVariable(this)}}])}(F.ParserRuleContext),Ze=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"label",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(nt):this.getTypedRuleContext(nt,e)})),i.parser=e,i.ruleIndex=Ve.RULE_block,i}return De(t,e),Ce(t,[{key:"blocktype",value:function(){return this.getTypedRuleContext(Je,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(rt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterBlock(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitBlock(this)}}])}(F.ParserRuleContext),Je=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_blocktype,i}return De(t,e),Ce(t,[{key:"IDENTIFIER",value:function(){return this.getToken(Ve.IDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterBlocktype(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitBlocktype(this)}}])}(F.ParserRuleContext),et=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_resourcetype,i}return De(t,e),Ce(t,[{key:"STRING",value:function(){return this.getToken(Ve.STRING,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterResourcetype(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitResourcetype(this)}}])}(F.ParserRuleContext),tt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_name,i}return De(t,e),Ce(t,[{key:"STRING",value:function(){return this.getToken(Ve.STRING,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterName(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitName(this)}}])}(F.ParserRuleContext),nt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_label,i}return De(t,e),Ce(t,[{key:"STRING",value:function(){return this.getToken(Ve.STRING,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterLabel(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitLabel(this)}}])}(F.ParserRuleContext),rt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"argument",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(it):this.getTypedRuleContext(it,e)})),je(i,"block",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(Ze):this.getTypedRuleContext(Ze,e)})),i.parser=e,i.ruleIndex=Ve.RULE_blockbody,i}return De(t,e),Ce(t,[{key:"LCURL",value:function(){return this.getToken(Ve.LCURL,0)}},{key:"RCURL",value:function(){return this.getToken(Ve.RCURL,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterBlockbody(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitBlockbody(this)}}])}(F.ParserRuleContext),it=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_argument,i}return De(t,e),Ce(t,[{key:"identifier",value:function(){return this.getTypedRuleContext(ot,0)}},{key:"expression",value:function(){return this.getTypedRuleContext(ct,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterArgument(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitArgument(this)}}])}(F.ParserRuleContext),ot=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_identifier,i}return De(t,e),Ce(t,[{key:"identifierchain",value:function(){return this.getTypedRuleContext(st,0)}},{key:"DOT",value:function(){return this.getToken(Ve.DOT,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitIdentifier(this)}}])}(F.ParserRuleContext),st=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"DOT",(function(e){return void 0===e&&(e=null),null===e?this.getTokens(Ve.DOT):this.getToken(Ve.DOT,e)})),je(i,"identifierchain",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(t):this.getTypedRuleContext(t,e)})),i.parser=e,i.ruleIndex=Ve.RULE_identifierchain,i}return De(t,e),Ce(t,[{key:"IDENTIFIER",value:function(){return this.getToken(Ve.IDENTIFIER,0)}},{key:"IN",value:function(){return this.getToken(Ve.IN,0)}},{key:"VARIABLE",value:function(){return this.getToken(Ve.VARIABLE,0)}},{key:"PROVIDER",value:function(){return this.getToken(Ve.PROVIDER,0)}},{key:"index",value:function(){return this.getTypedRuleContext(mt,0)}},{key:"STAR",value:function(){return this.getToken(Ve.STAR,0)}},{key:"inline_index",value:function(){return this.getTypedRuleContext(at,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterIdentifierchain(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitIdentifierchain(this)}}])}(F.ParserRuleContext),at=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_inline_index,i}return De(t,e),Ce(t,[{key:"NATURAL_NUMBER",value:function(){return this.getToken(Ve.NATURAL_NUMBER,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterInline_index(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitInline_index(this)}}])}(F.ParserRuleContext),ct=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(t):this.getTypedRuleContext(t,e)})),i.parser=e,i.ruleIndex=Ve.RULE_expression,i}return De(t,e),Ce(t,[{key:"section",value:function(){return this.getTypedRuleContext(lt,0)}},{key:"LPAREN",value:function(){return this.getToken(Ve.LPAREN,0)}},{key:"RPAREN",value:function(){return this.getToken(Ve.RPAREN,0)}},{key:"forloop",value:function(){return this.getTypedRuleContext(ut,0)}},{key:"operator_",value:function(){return this.getTypedRuleContext(wt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterExpression(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitExpression(this)}}])}(F.ParserRuleContext),ut=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(ct):this.getTypedRuleContext(ct,e)})),i.parser=e,i.ruleIndex=Ve.RULE_forloop,i}return De(t,e),Ce(t,[{key:"identifier",value:function(){return this.getTypedRuleContext(ot,0)}},{key:"IN",value:function(){return this.getToken(Ve.IN,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterForloop(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitForloop(this)}}])}(F.ParserRuleContext),lt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_section,i}return De(t,e),Ce(t,[{key:"list_",value:function(){return this.getTypedRuleContext(vt,0)}},{key:"map_",value:function(){return this.getTypedRuleContext(gt,0)}},{key:"val",value:function(){return this.getTypedRuleContext(ht,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterSection(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitSection(this)}}])}(F.ParserRuleContext),ht=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_val,i}return De(t,e),Ce(t,[{key:"NULL_",value:function(){return this.getToken(Ve.NULL_,0)}},{key:"signed_number",value:function(){return this.getTypedRuleContext(bt,0)}},{key:"string",value:function(){return this.getTypedRuleContext(_t,0)}},{key:"identifier",value:function(){return this.getTypedRuleContext(ot,0)}},{key:"BOOL",value:function(){return this.getToken(Ve.BOOL,0)}},{key:"DESCRIPTION",value:function(){return this.getToken(Ve.DESCRIPTION,0)}},{key:"filedecl",value:function(){return this.getTypedRuleContext(yt,0)}},{key:"functioncall",value:function(){return this.getTypedRuleContext(ft,0)}},{key:"EOF_",value:function(){return this.getToken(Ve.EOF_,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterVal(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitVal(this)}}])}(F.ParserRuleContext),ft=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_functioncall,i}return De(t,e),Ce(t,[{key:"functionname",value:function(){return this.getTypedRuleContext(pt,0)}},{key:"LPAREN",value:function(){return this.getToken(Ve.LPAREN,0)}},{key:"functionarguments",value:function(){return this.getTypedRuleContext(dt,0)}},{key:"RPAREN",value:function(){return this.getToken(Ve.RPAREN,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterFunctioncall(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitFunctioncall(this)}}])}(F.ParserRuleContext),pt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_functionname,i}return De(t,e),Ce(t,[{key:"IDENTIFIER",value:function(){return this.getToken(Ve.IDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterFunctionname(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitFunctionname(this)}}])}(F.ParserRuleContext),dt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(ct):this.getTypedRuleContext(ct,e)})),i.parser=e,i.ruleIndex=Ve.RULE_functionarguments,i}return De(t,e),Ce(t,[{key:"enterRule",value:function(e){e instanceof ve&&e.enterFunctionarguments(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitFunctionarguments(this)}}])}(F.ParserRuleContext),mt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_index,i}return De(t,e),Ce(t,[{key:"expression",value:function(){return this.getTypedRuleContext(ct,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterIndex(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitIndex(this)}}])}(F.ParserRuleContext),yt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_filedecl,i}return De(t,e),Ce(t,[{key:"LPAREN",value:function(){return this.getToken(Ve.LPAREN,0)}},{key:"expression",value:function(){return this.getTypedRuleContext(ct,0)}},{key:"RPAREN",value:function(){return this.getToken(Ve.RPAREN,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterFiledecl(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitFiledecl(this)}}])}(F.ParserRuleContext),vt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(ct):this.getTypedRuleContext(ct,e)})),i.parser=e,i.ruleIndex=Ve.RULE_list_,i}return De(t,e),Ce(t,[{key:"enterRule",value:function(e){e instanceof ve&&e.enterList_(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitList_(this)}}])}(F.ParserRuleContext),gt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"argument",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(it):this.getTypedRuleContext(it,e)})),i.parser=e,i.ruleIndex=Ve.RULE_map_,i}return De(t,e),Ce(t,[{key:"LCURL",value:function(){return this.getToken(Ve.LCURL,0)}},{key:"RCURL",value:function(){return this.getToken(Ve.RCURL,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterMap_(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitMap_(this)}}])}(F.ParserRuleContext),_t=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_string,i}return De(t,e),Ce(t,[{key:"STRING",value:function(){return this.getToken(Ve.STRING,0)}},{key:"MULTILINESTRING",value:function(){return this.getToken(Ve.MULTILINESTRING,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterString(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitString(this)}}])}(F.ParserRuleContext),bt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_signed_number,i}return De(t,e),Ce(t,[{key:"number",value:function(){return this.getTypedRuleContext(xt,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterSigned_number(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitSigned_number(this)}}])}(F.ParserRuleContext),wt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),(i=Re(this,t,[n,r])).parser=e,i.ruleIndex=Ve.RULE_operator_,i}return De(t,e),Ce(t,[{key:"STAR",value:function(){return this.getToken(Ve.STAR,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterOperator_(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitOperator_(this)}}])}(F.ParserRuleContext),xt=function(e){function t(e,n,r){var i;return Ne(this,t),void 0===n&&(n=null),null==r&&(r=-1),je(i=Re(this,t,[n,r]),"NATURAL_NUMBER",(function(e){return void 0===e&&(e=null),null===e?this.getTokens(Ve.NATURAL_NUMBER):this.getToken(Ve.NATURAL_NUMBER,e)})),i.parser=e,i.ruleIndex=Ve.RULE_number,i}return De(t,e),Ce(t,[{key:"DOT",value:function(){return this.getToken(Ve.DOT,0)}},{key:"enterRule",value:function(e){e instanceof ve&&e.enterNumber(this)}},{key:"exitRule",value:function(e){e instanceof ve&&e.exitNumber(this)}}])}(F.ParserRuleContext);function kt(e){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kt(e)}function Et(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[]).filter((function(t){return e.isParsable(t)})).reduce((function(e,t){var n=t.path.split("/").slice(0,-1).join("/");return e.includes(n)||e.push(n),e}),[])}},{key:"parse",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.pluginData.components=[],this.pluginData.variables=[];var i=new ve(this.pluginData),o=null!=e&&e.path&&0!==e.path.length?"".concat(e.path,"/"):"",s=new RegExp("^".concat(o,"[^/]+\\.tf$"));n.filter((function(e){var t=e.path;return s.test(t)})).filter((function(e){var n=e.content,i=e.path;return!(!n||""===n.trim())||(t.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"warning",files:[i],data:{code:"no_content",global:!1}}),!1)})).forEach((function(e){var n=t.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"running",files:[e.path],data:{global:!1}});i.currentFile=e;var o=new F.InputStream(e.content),s=new Ae(o),a=new F.CommonTokenStream(s),c=new Ve(a);c.buildParseTrees=!0;var u=c.file_();F.tree.ParseTreeWalker.DEFAULT.walk(i,u),t.pluginData.emitEvent({id:n,status:"success"})}))}}],r&&Et(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(e.DefaultParser);var Ct=n(985),Rt=n.n(Ct);const Lt={root:"".concat("{% macro displayAttributeValue(attribute, value, level) %}\n{% if attribute.isVariable %}{{ value | dump | indent(level * 4, true) }},\n{% elif attribute.definition.type == 'Link' %}{{ attribute.definition.linkRef | indent(level * 4, true) }}.{{ getExternalId(value) }}.{{attribute.definition.linkAttribute}},\n{% elif isValueReference(value) %}{{ value | indent(level * 4, true) }},\n{% else %}{{ value | dump | indent(level * 4, true) }},\n{% endif %}\n{% endmacro %}\n",'{% include "local" ignore missing %}\n{% include "block" ignore missing %}\n{% include "variable" ignore missing %}\n{% include "output" ignore missing %}\n'),block:"{% for _block in components %}\n{{ _block.definition.blockType }} {% if ['resource','data'].includes(_block.definition.blockType) %}\"{{ _block.definition.type }}\" {% endif %}{% if ['provider', 'module'].includes(_block.definition.blockType) %}\"{{ _block.definition.type }}\"{% else %}\"{{ _block.externalId }}\"{% endif %} {\n{% for attribute in _block.attributes %}{% set level = 1 %}\n{% include \"attribute\" ignore missing %}\n{% endfor %}\n}\n\n{% endfor %}",attribute:"{% if attribute.type == 'Object' %}\n{{ attribute.name | indent(level * 4, true) }} {% if not attribute.isDynamic %}= {% endif %}{\n{% set level = level+1 %}{% for attr in attribute.value %}{% set attribute = attr %}\n{% include \"attribute\" ignore missing %}\n{% set attribute = attr %}\n{% endfor %}{% set level = level-1 %}\n{{ \"}\" | indent(level * 4, true) }}\n{% else %}\n{{ attribute.name | indent(level * 4, true) }} = {% if attribute.type == 'Array' or attribute.type == 'Link' %}[\n{% set level = level+1 %}{% for value in attribute.value %}\n{% call displayAttributeValue(attribute, value, level) -%}{%- endcall %}\n{% endfor %}{% set level = level-1 %}\n{{ \"]\" | indent(level * 4, true) }}\n{% else %}\n{% if attribute.isVariable %}{{ attribute.value }}\n{% elif attribute.definition.type == 'Reference' %}{{ attribute.definition.containerRef }}.{{ getExternalId(attribute.value) }}\n{% elif attribute.type == 'Boolean' or attribute.type == 'Number' or attribute.name == 'user_data' %}{{ attribute.value }}\n{% elif attribute.type == 'String' and isValueReference(attribute.value) %}{{ attribute.value }}\n{% else %}{{ attribute.value | dump }}\n{% endif %}\n{% endif %}\n{% endif %}\n",variable:'{% for variable in variables %}\nvariable {{ variable.name | dump }} {\n{% set level = 1 %}\n{% if variable.defaultValue %}{{ "default" | indent(level * 4, true) }} = {% if isList(variable.type) %}[\n{% set level = level+1 %}{% for val in variable.defaultValue %}\n{{ val | dump | indent(level * 4, true) }},\n{% endfor %}\n{% set level = level-1 %}{{ "]" | indent(level * 4, true) }}\n{% else %}{{ variable.defaultValue | dump }}\n{% endif %}\n{% endif %}\n{% if variable.type %}{{ "type" | indent(level * 4, true) }} = {{ variable.type }}\n{% endif %}\n{% if variable.description %}{{ "description" | indent(level * 4, true) }} = {{ variable.description | dump }}\n{% endif %}\n{% if variable.sensitive %}{{ "sensitive" | indent(level * 4, true) }} = {{ variable.sensitive }}\n{% endif %}\n{% if variable.nullable %}{{ "nullable" | indent(level * 4, true) }} = {{ variable.nullable }}\n{% endif %}\n}\n\n{% endfor %}\n',output:'{% for output in outputs %}\noutput {{ output.name | dump }} {\n{% set level = 1 %}\n{% if isList(output.type) %}\n{{ "value = [" | indent(level * 4, true) }}\n{% for val in output.value %}\n{% set level = level+1 %}\n{% set argType = getListType(output.type) %}\n{% if argType == \'number\' or argType == \'bool\' or isValueReference(val) %}\n{{ val | dump | indent(level * 4, true) }},\n{% else %}\n{{ val | dump | indent(level * 4, true) }},\n{% endif %}\n{% set level = level-1 %}\n{% endfor %}{{ "]" | indent(level * 4, true) }}\n{% else %}\n{{ "value = " | indent(level * 4, true) }}{% if output.type == \'number\' or output.type == \'bool\' or isValueReference(output.value) %}\n{{ output.value }}\n{% else %}\n{{ output.value | dump }}\n{% endif %}\n{% endif %}\n{% if output.description %}{{ "description" | indent(level * 4, true) }} = {{ output.description | dump }}\n{% endif %}\n{% if output.sensitive %}{{ "sensitive" | indent(level * 4, true) }} = {{ output.sensitive }}\n{% endif %}\n}\n\n{% endfor %}\n',local:'{% if locals.length > 0 %}\nlocals {\n{% set level = 1 %}\n{% for local in locals %}\n{% if local.value %}{{ local.name | indent(level * 4, true) }} = {% if isList(local.type) %}[\n{% set level = level+1 %}{% for val in local.value %}\n{{ val | dump | indent(level * 4, true) }},\n{% endfor %}\n{% set level = level-1 %}{{ "]" | indent(level * 4, true) }}\n{% else %}{{ local.value | dump }}\n{% endif %}\n{% endif %}\n{% endfor %}{% set level = level-1 %}\n{% set level = 0 %}}\n\n{% endif %}\n'};function It(e){return It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},It(e)}function Dt(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:null,t=this.pluginData.components.reduce((function(e,t){return e.has(t.path)?e.get(t.path).push(t):e.set(t.path,[t]),e}),new Map),n=this.pluginData.variables.reduce((function(e,t){return e.has(t.path)?e.get(t.path).push(t):e.set(t.path,[t]),e}),new Map);return this.generateFiles(t,n,e)}},{key:"generateFiles",value:function(t,n,r){var i=this,o=[];return(0===t.size?n:t).forEach((function(s,a){var c=i.pluginData.emitEvent({parent:r,type:"Render",action:"write",status:"running",files:[a],data:{global:!1}}),u=(null==n?void 0:n.get(a))||[],l=(null==t?void 0:t.get(a))||[];o.push(new e.FileInput({path:a,content:"".concat(i.template.render({components:l,variables:u.filter((function(e){return"variable"===e.category})),locals:u.filter((function(e){return"local"===e.category})),outputs:u.filter((function(e){return"output"===e.category})),getExternalId:function(e){var t;return null===(t=i.pluginData.getComponentById(e))||void 0===t?void 0:t.externalId},isValueReference:function(e){return null==e?void 0:e.match(/^(data.|var.|local.|module.|aws_|random_)/)},isList:function(e){return(null==e?void 0:e.startsWith("list("))||(null==e?void 0:e.startsWith("set("))},getListType:function(e){return e.split(/\(([^)]+)\)/)[1]}}).trim(),"\n")})),i.pluginData.emitEvent({id:c,status:"success"})})),o}}],i&&Dt(r.prototype,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,i}(e.DefaultRender),Vt={name:"terraform",languageSettings:{id:"terraform",extensions:[".tf"],aliases:["Terraform","terraform"],mimetypes:["string"]},languageConfiguration:{comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["(",")"],["{","}"],["[","]"]],colorizedBracketPairs:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"'",close:"'",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}]},tokenProvider:{keywords:["provider","resource","data","variable","output","locals","module","for_each","if","else","true","false","null"],operators:["+","+=","-","-=","*","*=","/","/=","%","%=","==","!=","<","<=",">",">=","=","||","&&","!"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]]}}};function $t(e){return $t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$t(e)}function qt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{event:null};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=new Xt({defaultFileName:"new_file.tf",defaultFileExtension:"tf"}),r=new cn(n,{name:un.u2,version:un.i8},e.event);return hn(this,t,[{pluginData:r,pluginMetadata:new L(r),pluginParser:new Pt(r),pluginRenderer:new Ut(r),configuration:n}])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&dn(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(e.DefaultPlugin)})();var i=exports;for(var o in r)i[o]=r[o];r.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})(); \ No newline at end of file +(()=>{var t={96:(t,e,n)=>{"use strict";var r=n(153),i=n(610),o=n(531),a=n(22),s=n(35),u=n(516),c=n(753),l=n(978),h=n(889);t.exports=v,v.prototype.validate=function(t,e){var n;if("string"==typeof t){if(!(n=this.getSchema(t)))throw new Error('no schema with key or ref "'+t+'"')}else{var r=this._addSchema(t);n=r.validate||this._compile(r)}var i=n(e);return!0!==n.$async&&(this.errors=n.errors),i},v.prototype.compile=function(t,e){var n=this._addSchema(t,void 0,e);return n.validate||this._compile(n)},v.prototype.addSchema=function(t,e,n,r){if(Array.isArray(t)){for(var o=0;o{"use strict";var e=t.exports=function(){this._cache={}};e.prototype.put=function(t,e){this._cache[t]=e},e.prototype.get=function(t){return this._cache[t]},e.prototype.del=function(t){delete this._cache[t]},e.prototype.clear=function(){this._cache={}}},931:(t,e,n)=>{"use strict";var r=n(802).MissingRef;t.exports=function t(e,n,i){var o=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof n&&(i=n,n=void 0);var a=s(e).then((function(){var t=o._addSchema(e,void 0,n);return t.validate||u(t)}));return i&&a.then((function(t){i(null,t)}),i),a;function s(e){var n=e.$schema;return n&&!o.getSchema(n)?t.call(o,{$ref:n},!0):Promise.resolve()}function u(t){try{return o._compile(t)}catch(e){if(e instanceof r)return function(e){var r=e.missingSchema;if(c(r))throw new Error("Schema "+r+" is loaded but "+e.missingRef+" cannot be resolved");var i=o._loadingSchemas[r];return i||(i=o._loadingSchemas[r]=o._opts.loadSchema(r)).then(a,a),i.then((function(t){if(!c(r))return s(t).then((function(){c(r)||o.addSchema(t,r,void 0,n)}))})).then((function(){return u(t)}));function a(){delete o._loadingSchemas[r]}function c(t){return o._refs[t]||o._schemas[t]}}(e);throw e}}}},802:(t,e,n)=>{"use strict";var r=n(610);function i(t,e,n){this.message=n||i.message(t,e),this.missingRef=r.url(t,e),this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function o(t){return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}t.exports={Validation:o((function(t){this.message="validation failed",this.errors=t,this.ajv=this.validation=!0})),MissingRef:o(i)},i.message=function(t,e){return"can't resolve reference "+e+" from id "+t}},516:(t,e,n)=>{"use strict";var r=n(889),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],a=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,s=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,c=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,l=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,f=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,d=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(t){return t="full"==t?"full":"fast",r.copy(m[t])}function y(t){var e=t.match(i);if(!e)return!1;var n=+e[1],r=+e[2],a=+e[3];return r>=1&&r<=12&&a>=1&&a<=(2==r&&function(t){return t%4==0&&(t%100!=0||t%400==0)}(n)?29:o[r])}function v(t,e){var n=t.match(a);if(!n)return!1;var r=n[1],i=n[2],o=n[3],s=n[5];return(r<=23&&i<=59&&o<=59||23==r&&59==i&&60==o)&&(!e||s)}t.exports=m,m.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:l,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":f,"json-pointer-uri-fragment":p,"relative-json-pointer":d},m.full={date:y,time:v,"date-time":function(t){var e=t.split(g);return 2==e.length&&y(e[0])&&v(e[1],!0)},uri:function(t){return b.test(t)&&u.test(t)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:l,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":f,"json-pointer-uri-fragment":p,"relative-json-pointer":d};var g=/t|\s/i,b=/\/|:/,_=/[^\\]\\Z/;function w(t){if(_.test(t))return!1;try{return new RegExp(t),!0}catch(t){return!1}}},153:(t,e,n)=>{"use strict";var r=n(610),i=n(889),o=n(802),a=n(35),s=n(508),u=i.ucs2length,c=n(63),l=o.Validation;function h(t,e,n){var r=p.call(this,t,e,n);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:t,root:e,baseId:n},{index:r,compiling:!1})}function f(t,e,n){var r=p.call(this,t,e,n);r>=0&&this._compilations.splice(r,1)}function p(t,e,n){for(var r=0;r{"use strict";var r=n(540),i=n(63),o=n(889),a=n(22),s=n(461);function u(t,e,n){var r=this._refs[n];if("string"==typeof r){if(!this._refs[r])return u.call(this,t,e,r);r=this._refs[r]}if((r=r||this._schemas[n])instanceof a)return d(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,o,s,l=c.call(this,e,n);return l&&(i=l.schema,e=l.root,s=l.baseId),i instanceof a?o=i.validate||t.call(this,i.schema,e,void 0,s):void 0!==i&&(o=d(i,this._opts.inlineRefs)?i:t.call(this,i,e,void 0,s)),o}function c(t,e){var n=r.parse(e),i=g(n),o=v(this._getId(t.schema));if(0===Object.keys(t.schema).length||i!==o){var s=_(i),u=this._refs[s];if("string"==typeof u)return l.call(this,t,u,n);if(u instanceof a)u.validate||this._compile(u),t=u;else{if(!((u=this._schemas[s])instanceof a))return;if(u.validate||this._compile(u),s==_(e))return{schema:u,root:t,baseId:o};t=u}if(!t.schema)return;o=v(this._getId(t.schema))}return f.call(this,n,o,t.schema,t)}function l(t,e,n){var r=c.call(this,t,e);if(r){var i=r.schema,o=r.baseId;t=r.root;var a=this._getId(i);return a&&(o=w(o,a)),f.call(this,n,o,i,t)}}t.exports=u,u.normalizeId=_,u.fullPath=v,u.url=w,u.ids=function(t){var e=_(this._getId(t)),n={"":e},a={"":v(e,!1)},u={},c=this;return s(t,{allKeys:!0},(function(t,e,s,l,h,f,p){if(""!==e){var d=c._getId(t),m=n[l],y=a[l]+"/"+h;if(void 0!==p&&(y+="/"+("number"==typeof p?p:o.escapeFragment(p))),"string"==typeof d){d=m=_(m?r.resolve(m,d):d);var v=c._refs[d];if("string"==typeof v&&(v=c._refs[v]),v&&v.schema){if(!i(t,v.schema))throw new Error('id "'+d+'" resolves to more than one schema')}else if(d!=_(y))if("#"==d[0]){if(u[d]&&!i(t,u[d]))throw new Error('id "'+d+'" resolves to more than one schema');u[d]=t}else c._refs[d]=y}n[e]=m,a[e]=y}})),u},u.inlineRef=d,u.schema=c;var h=o.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function f(t,e,n,r){if(t.fragment=t.fragment||"","/"==t.fragment.slice(0,1)){for(var i=t.fragment.split("/"),a=1;a{"use strict";var r=n(674),i=n(889).toHash;t.exports=function(){var t=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],e=["type","$comment"];return t.all=i(e),t.types=i(["number","integer","string","array","object","boolean","null"]),t.forEach((function(n){n.rules=n.rules.map((function(n){var i;if("object"==typeof n){var o=Object.keys(n)[0];i=n[o],n=o,i.forEach((function(n){e.push(n),t.all[n]=!0}))}return e.push(n),t.all[n]={keyword:n,code:r[n],implements:i}})),t.all.$comment={keyword:"$comment",code:r.$comment},n.type&&(t.types[n.type]=n)})),t.keywords=i(e.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),t.custom={},t}},22:(t,e,n)=>{"use strict";var r=n(889);t.exports=function(t){r.copy(t,this)}},442:t=>{"use strict";t.exports=function(t){for(var e,n=0,r=t.length,i=0;i=55296&&e<=56319&&i{"use strict";function r(t,e,n,r){var i=r?" !== ":" === ",o=r?" || ":" && ",a=r?"!":"",s=r?"":"!";switch(t){case"null":return e+i+"null";case"array":return a+"Array.isArray("+e+")";case"object":return"("+a+e+o+"typeof "+e+i+'"object"'+o+s+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+i+'"number"'+o+s+"("+e+" % 1)"+o+e+i+e+(n?o+a+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+i+'"'+t+'"'+(n?o+a+"isFinite("+e+")":"")+")";default:return"typeof "+e+i+'"'+t+'"'}}t.exports={copy:function(t,e){for(var n in e=e||{},t)e[n]=t[n];return e},checkDataType:r,checkDataTypes:function(t,e,n){if(1===t.length)return r(t[0],e,n,!0);var i="",a=o(t);for(var s in a.array&&a.object&&(i=a.null?"(":"(!"+e+" || ",i+="typeof "+e+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer,a)i+=(i?" && ":"")+r(s,e,n,!0);return i},coerceToTypes:function(t,e){if(Array.isArray(e)){for(var n=[],r=0;r=e)throw new Error("Cannot access property/index "+r+" levels up, current level is "+e);return n[e-r]}if(r>e)throw new Error("Cannot access data "+r+" levels up, current level is "+e);if(o="data"+(e-r||""),!i)return o}for(var s=o,c=i.split("/"),l=0;l{"use strict";var e=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];t.exports=function(t,n){for(var r=0;r{"use strict";var r=n(680);t.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:r.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:r.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},210:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s;var p="maximum"==e,d=p?"exclusiveMaximum":"exclusiveMinimum",m=t.schema[d],y=t.opts.$data&&m&&m.$data,v=p?"<":">",g=p?">":"<",b=void 0;if(!f&&"number"!=typeof s&&void 0!==s)throw new Error(e+" must be number");if(!y&&void 0!==m&&"number"!=typeof m&&"boolean"!=typeof m)throw new Error(d+" must be number or boolean");if(y){var _,w=t.util.getData(m.$data,a,t.dataPathArr),x="exclusive"+o,k="exclType"+o,E="exclIsNumber"+o,S="' + "+(A="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+w+"; ",i+=" var "+x+"; var "+k+" = typeof "+(w="schemaExcl"+o)+"; if ("+k+" != 'boolean' && "+k+" != 'undefined' && "+k+" != 'number') { ",b=d,(_=_||[]).push(i),i="",!1!==t.createErrors?(i+=" { keyword: '"+(b||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: {} ",!1!==t.opts.messages&&(i+=" , message: '"+d+" should be boolean' "),t.opts.verbose&&(i+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var T=i;i=_.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+k+" == 'number' ? ( ("+x+" = "+r+" === undefined || "+w+" "+v+"= "+r+") ? "+h+" "+g+"= "+w+" : "+h+" "+g+" "+r+" ) : ( ("+x+" = "+w+" === true) ? "+h+" "+g+"= "+r+" : "+h+" "+g+" "+r+" ) || "+h+" !== "+h+") { var op"+o+" = "+x+" ? '"+v+"' : '"+v+"='; ",void 0===s&&(b=d,c=t.errSchemaPath+"/"+d,r=w,f=y)}else if(S=v,(E="number"==typeof m)&&f){var A="'"+S+"'";i+=" if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+m+" "+v+"= "+r+" ? "+h+" "+g+"= "+m+" : "+h+" "+g+" "+r+" ) || "+h+" !== "+h+") { "}else E&&void 0===s?(x=!0,b=d,c=t.errSchemaPath+"/"+d,r=m,g+="="):(E&&(r=Math[p?"min":"max"](m,s)),m===(!E||r)?(x=!0,b=d,c=t.errSchemaPath+"/"+d,g+="="):(x=!1,S+="=")),A="'"+S+"'",i+=" if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+h+" "+g+" "+r+" || "+h+" !== "+h+") { ";return b=b||e,(_=_||[]).push(i),i="",!1!==t.createErrors?(i+=" { keyword: '"+(b||"_limit")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { comparison: "+A+", limit: "+r+", exclusive: "+x+" } ",!1!==t.opts.messages&&(i+=" , message: 'should be "+S+" ",i+=f?"' + "+r:r+"'"),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ",T=i,i=_.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { "),i}},38:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;if(f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,!f&&"number"!=typeof s)throw new Error(e+" must be number");i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+h+".length "+("maxItems"==e?">":"<")+" "+r+") { ";var p=e,d=d||[];d.push(i),i="",!1!==t.createErrors?(i+=" { keyword: '"+(p||"_limitItems")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { limit: "+r+" } ",!1!==t.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==e?"more":"fewer",i+=" than ",i+=f?"' + "+r+" + '":""+s,i+=" items' "),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=d.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},425:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;if(f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,!f&&"number"!=typeof s)throw new Error(e+" must be number");var p="maxLength"==e?">":"<";i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===t.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+p+" "+r+") { ";var d=e,m=m||[];m.push(i),i="",!1!==t.createErrors?(i+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { limit: "+r+" } ",!1!==t.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==e?"longer":"shorter",i+=" than ",i+=f?"' + "+r+" + '":""+s,i+=" characters' "),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;return i=m.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},204:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;if(f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,!f&&"number"!=typeof s)throw new Error(e+" must be number");i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==e?">":"<")+" "+r+") { ";var p=e,d=d||[];d.push(i),i="",!1!==t.createErrors?(i+=" { keyword: '"+(p||"_limitProperties")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { limit: "+r+" } ",!1!==t.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==e?"more":"fewer",i+=" than ",i+=f?"' + "+r+" + '":""+s,i+=" properties' "),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=d.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},988:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.schema[e],o=t.schemaPath+t.util.getProperty(e),a=t.errSchemaPath+"/"+e,s=!t.opts.allErrors,u=t.util.copy(t),c="";u.level++;var l="valid"+u.level,h=u.baseId,f=!0,p=i;if(p)for(var d,m=-1,y=p.length-1;m0||!1===d:t.util.schemaHasRules(d,t.RULES.all))&&(f=!1,u.schema=d,u.schemaPath=o+"["+m+"]",u.errSchemaPath=a+"/"+m,r+=" "+t.validate(u)+" ",u.baseId=h,s&&(r+=" if ("+l+") { ",c+="}"));return s&&(r+=f?" if (true) { ":" "+c.slice(0,-1)+" "),r}},996:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=t.util.copy(t),d="";p.level++;var m="valid"+p.level,y=a.every((function(e){return t.opts.strictKeywords?"object"==typeof e&&Object.keys(e).length>0||!1===e:t.util.schemaHasRules(e,t.RULES.all)}));if(y){var v=p.baseId;r+=" var "+f+" = errors; var "+h+" = false; ";var g=t.compositeRule;t.compositeRule=p.compositeRule=!0;var b=a;if(b)for(var _,w=-1,x=b.length-1;w{"use strict";t.exports=function(t,e,n){var r=" ",i=t.schema[e],o=t.errSchemaPath+"/"+e,a=(t.opts.allErrors,t.util.toQuotedString(i));return!0===t.opts.$comment?r+=" console.log("+a+");":"function"==typeof t.opts.$comment&&(r+=" self._opts.$comment("+a+", "+t.util.toQuotedString(o)+", validate.root.schema);"),r}},306:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f=t.opts.$data&&a&&a.$data;f&&(r+=" var schema"+i+" = "+t.util.getData(a.$data,o,t.dataPathArr)+"; "),f||(r+=" var schema"+i+" = validate.schema"+s+";"),r+="var "+h+" = equal("+l+", schema"+i+"); if (!"+h+") { ";var p=p||[];p.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { allowedValue: schema"+i+" } ",!1!==t.opts.messages&&(r+=" , message: 'should be equal to constant' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var d=r;return r=p.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+d+"]); ":r+=" validate.errors = ["+d+"]; return false; ":r+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},840:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=t.util.copy(t);p.level++;var d="valid"+p.level,m="i"+i,y=p.dataLevel=t.dataLevel+1,v="data"+y,g=t.baseId,b=t.opts.strictKeywords?"object"==typeof a&&Object.keys(a).length>0||!1===a:t.util.schemaHasRules(a,t.RULES.all);if(r+="var "+f+" = errors;var "+h+";",b){var _=t.compositeRule;t.compositeRule=p.compositeRule=!0,p.schema=a,p.schemaPath=s,p.errSchemaPath=u,r+=" var "+d+" = false; for (var "+m+" = 0; "+m+" < "+l+".length; "+m+"++) { ",p.errorPath=t.util.getPathExpr(t.errorPath,m,t.opts.jsonPointers,!0);var w=l+"["+m+"]";p.dataPathArr[y]=m;var x=t.validate(p);p.baseId=g,t.util.varOccurences(x,v)<2?r+=" "+t.util.varReplace(x,v,w)+" ":r+=" var "+v+" = "+w+"; "+x+" ",r+=" if ("+d+") break; } ",t.compositeRule=p.compositeRule=_,r+=" if (!"+d+") {"}else r+=" if ("+l+".length == 0) {";var k=k||[];k.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: {} ",!1!==t.opts.messages&&(r+=" , message: 'should contain a valid item' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;return r=k.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",b&&(r+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } "),t.opts.allErrors&&(r+=" } "),r}},165:t=>{"use strict";t.exports=function(t,e,n){var r,i,o=" ",a=t.level,s=t.dataLevel,u=t.schema[e],c=t.schemaPath+t.util.getProperty(e),l=t.errSchemaPath+"/"+e,h=!t.opts.allErrors,f="data"+(s||""),p="valid"+a,d="errs__"+a,m=t.opts.$data&&u&&u.$data;m?(o+=" var schema"+a+" = "+t.util.getData(u.$data,s,t.dataPathArr)+"; ",i="schema"+a):i=u;var y,v,g,b,_,w=this,x="definition"+a,k=w.definition,E="";if(m&&k.$data){_="keywordValidate"+a;var S=k.validateSchema;o+=" var "+x+" = RULES.custom['"+e+"'].definition; var "+_+" = "+x+".validate;"}else{if(!(b=t.useCustomRule(w,u,t.schema,t)))return;i="validate.schema"+c,_=b.code,y=k.compile,v=k.inline,g=k.macro}var T=_+".errors",A="i"+a,O="ruleErr"+a,N=k.async;if(N&&!t.async)throw new Error("async keyword in sync schema");if(v||g||(o+=T+" = null;"),o+="var "+d+" = errors;var "+p+";",m&&k.$data&&(E+="}",o+=" if ("+i+" === undefined) { "+p+" = true; } else { ",S&&(E+="}",o+=" "+p+" = "+x+".validateSchema("+i+"); if ("+p+") { ")),v)k.statements?o+=" "+b.validate+" ":o+=" "+p+" = "+b.validate+"; ";else if(g){var P=t.util.copy(t);E="",P.level++;var C="valid"+P.level;P.schema=b.validate,P.schemaPath="";var L=t.compositeRule;t.compositeRule=P.compositeRule=!0;var R=t.validate(P).replace(/validate\.schema/g,_);t.compositeRule=P.compositeRule=L,o+=" "+R}else{(j=j||[]).push(o),o="",o+=" "+_+".call( ",t.opts.passContext?o+="this":o+="self",y||!1===k.schema?o+=" , "+f+" ":o+=" , "+i+" , "+f+" , validate.schema"+t.schemaPath+" ",o+=" , (dataPath || '')",'""'!=t.errorPath&&(o+=" + "+t.errorPath);var I=s?"data"+(s-1||""):"parentData",D=s?t.dataPathArr[s]:"parentDataProperty",M=o+=" , "+I+" , "+D+" , rootData ) ";o=j.pop(),!1===k.errors?(o+=" "+p+" = ",N&&(o+="await "),o+=M+"; "):o+=N?" var "+(T="customErrors"+a)+" = null; try { "+p+" = await "+M+"; } catch (e) { "+p+" = false; if (e instanceof ValidationError) "+T+" = e.errors; else throw e; } ":" "+T+" = null; "+p+" = "+M+"; "}if(k.modifying&&(o+=" if ("+I+") "+f+" = "+I+"["+D+"];"),o+=""+E,k.valid)h&&(o+=" if (true) { ");else{var j;o+=" if ( ",void 0===k.valid?(o+=" !",o+=g?""+C:""+p):o+=" "+!k.valid+" ",o+=") { ",r=w.keyword,(j=j||[]).push(o),o="",(j=j||[]).push(o),o="",!1!==t.createErrors?(o+=" { keyword: '"+(r||"custom")+"' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(l)+" , params: { keyword: '"+w.keyword+"' } ",!1!==t.opts.messages&&(o+=" , message: 'should pass \""+w.keyword+"\" keyword validation' "),t.opts.verbose&&(o+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ";var F=o;o=j.pop(),!t.compositeRule&&h?t.async?o+=" throw new ValidationError(["+F+"]); ":o+=" validate.errors = ["+F+"]; return false; ":o+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var B=o;o=j.pop(),v?k.errors?"full"!=k.errors&&(o+=" for (var "+A+"="+d+"; "+A+"{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=t.util.copy(t),p="";f.level++;var d="valid"+f.level,m={},y={},v=t.opts.ownProperties;for(w in a)if("__proto__"!=w){var g=a[w],b=Array.isArray(g)?y:m;b[w]=g}r+="var "+h+" = errors;";var _=t.errorPath;for(var w in r+="var missing"+i+";",y)if((b=y[w]).length){if(r+=" if ( "+l+t.util.getProperty(w)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+t.util.escapeQuotes(w)+"') "),c){r+=" && ( ";var x=b;if(x)for(var k=-1,E=x.length-1;k0||!1===g:t.util.schemaHasRules(g,t.RULES.all))&&(r+=" "+d+" = true; if ( "+l+t.util.getProperty(w)+" !== undefined ",v&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+t.util.escapeQuotes(w)+"') "),r+=") { ",f.schema=g,f.schemaPath=s+t.util.getProperty(w),f.errSchemaPath=u+"/"+t.util.escapeFragment(w),r+=" "+t.validate(f)+" ",f.baseId=D,r+=" } ",c&&(r+=" if ("+d+") { ",p+="}"));return c&&(r+=" "+p+" if ("+h+" == errors) {"),r}},740:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f=t.opts.$data&&a&&a.$data;f&&(r+=" var schema"+i+" = "+t.util.getData(a.$data,o,t.dataPathArr)+"; ");var p="i"+i,d="schema"+i;f||(r+=" var "+d+" = validate.schema"+s+";"),r+="var "+h+";",f&&(r+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),r+=h+" = false;for (var "+p+"=0; "+p+"<"+d+".length; "+p+"++) if (equal("+l+", "+d+"["+p+"])) { "+h+" = true; break; }",f&&(r+=" } "),r+=" if (!"+h+") { ";var m=m||[];m.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { allowedValues: schema"+i+" } ",!1!==t.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var y=r;return r=m.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+y+"]); ":r+=" validate.errors = ["+y+"]; return false; ":r+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",c&&(r+=" else { "),r}},14:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||"");if(!1===t.opts.format)return c&&(r+=" if (true) { "),r;var h,f=t.opts.$data&&a&&a.$data;f?(r+=" var schema"+i+" = "+t.util.getData(a.$data,o,t.dataPathArr)+"; ",h="schema"+i):h=a;var p=t.opts.unknownFormats,d=Array.isArray(p);if(f)r+=" var "+(m="format"+i)+" = formats["+h+"]; var "+(y="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(v="formatType"+i)+" = "+y+" && "+m+".type || 'string'; if ("+y+") { ",t.async&&(r+=" var async"+i+" = "+m+".async; "),r+=" "+m+" = "+m+".validate; } if ( ",f&&(r+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),r+=" (","ignore"!=p&&(r+=" ("+h+" && !"+m+" ",d&&(r+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),r+=") || "),r+=" ("+m+" && "+v+" == '"+n+"' && !(typeof "+m+" == 'function' ? ",t.async?r+=" (async"+i+" ? await "+m+"("+l+") : "+m+"("+l+")) ":r+=" "+m+"("+l+") ",r+=" : "+m+".test("+l+"))))) {";else{var m;if(!(m=t.formats[a])){if("ignore"==p)return t.logger.warn('unknown format "'+a+'" ignored in schema at path "'+t.errSchemaPath+'"'),c&&(r+=" if (true) { "),r;if(d&&p.indexOf(a)>=0)return c&&(r+=" if (true) { "),r;throw new Error('unknown format "'+a+'" is used in schema at path "'+t.errSchemaPath+'"')}var y,v=(y="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(y){var g=!0===m.async;m=m.validate}if(v!=n)return c&&(r+=" if (true) { "),r;if(g){if(!t.async)throw new Error("async format in sync schema");r+=" if (!(await "+(b="formats"+t.util.getProperty(a)+".validate")+"("+l+"))) { "}else{r+=" if (! ";var b="formats"+t.util.getProperty(a);y&&(b+=".validate"),r+="function"==typeof m?" "+b+"("+l+") ":" "+b+".test("+l+") ",r+=") { "}}var _=_||[];_.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { format: ",r+=f?""+h:""+t.util.toQuotedString(a),r+=" } ",!1!==t.opts.messages&&(r+=" , message: 'should match format \"",r+=f?"' + "+h+" + '":""+t.util.escapeQuotes(a),r+="\"' "),t.opts.verbose&&(r+=" , schema: ",r+=f?"validate.schema"+s:""+t.util.toQuotedString(a),r+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var w=r;return r=_.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",c&&(r+=" else { "),r}},231:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=t.util.copy(t);p.level++;var d="valid"+p.level,m=t.schema.then,y=t.schema.else,v=void 0!==m&&(t.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0||!1===m:t.util.schemaHasRules(m,t.RULES.all)),g=void 0!==y&&(t.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0||!1===y:t.util.schemaHasRules(y,t.RULES.all)),b=p.baseId;if(v||g){var _;p.createErrors=!1,p.schema=a,p.schemaPath=s,p.errSchemaPath=u,r+=" var "+f+" = errors; var "+h+" = true; ";var w=t.compositeRule;t.compositeRule=p.compositeRule=!0,r+=" "+t.validate(p)+" ",p.baseId=b,p.createErrors=!0,r+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",t.compositeRule=p.compositeRule=w,v?(r+=" if ("+d+") { ",p.schema=t.schema.then,p.schemaPath=t.schemaPath+".then",p.errSchemaPath=t.errSchemaPath+"/then",r+=" "+t.validate(p)+" ",p.baseId=b,r+=" "+h+" = "+d+"; ",v&&g?r+=" var "+(_="ifClause"+i)+" = 'then'; ":_="'then'",r+=" } ",g&&(r+=" else { ")):r+=" if (!"+d+") { ",g&&(p.schema=t.schema.else,p.schemaPath=t.schemaPath+".else",p.errSchemaPath=t.errSchemaPath+"/else",r+=" "+t.validate(p)+" ",p.baseId=b,r+=" "+h+" = "+d+"; ",v&&g?r+=" var "+(_="ifClause"+i)+" = 'else'; ":_="'else'",r+=" } "),r+=" if (!"+h+") { var err = ",!1!==t.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { failingKeyword: "+_+" } ",!1!==t.opts.messages&&(r+=" , message: 'should match \"' + "+_+" + '\" schema' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!t.compositeRule&&c&&(t.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",c&&(r+=" else { ")}else c&&(r+=" if (true) { ");return r}},674:(t,e,n)=>{"use strict";t.exports={$ref:n(392),allOf:n(988),anyOf:n(996),$comment:n(812),const:n(306),contains:n(840),dependencies:n(659),enum:n(740),format:n(14),if:n(231),items:n(482),maximum:n(210),minimum:n(210),maxItems:n(38),minItems:n(38),maxLength:n(425),minLength:n(425),maxProperties:n(204),minProperties:n(204),multipleOf:n(673),not:n(528),oneOf:n(709),pattern:n(614),properties:n(175),propertyNames:n(441),required:n(287),uniqueItems:n(603),validate:n(508)}},482:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=t.util.copy(t),d="";p.level++;var m="valid"+p.level,y="i"+i,v=p.dataLevel=t.dataLevel+1,g="data"+v,b=t.baseId;if(r+="var "+f+" = errors;var "+h+";",Array.isArray(a)){var _=t.schema.additionalItems;if(!1===_){r+=" "+h+" = "+l+".length <= "+a.length+"; ";var w=u;u=t.errSchemaPath+"/additionalItems",r+=" if (!"+h+") { ";var x=x||[];x.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { limit: "+a.length+" } ",!1!==t.opts.messages&&(r+=" , message: 'should NOT have more than "+a.length+" items' "),t.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var k=r;r=x.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+k+"]); ":r+=" validate.errors = ["+k+"]; return false; ":r+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",u=w,c&&(d+="}",r+=" else { ")}var E=a;if(E)for(var S,T=-1,A=E.length-1;T0||!1===S:t.util.schemaHasRules(S,t.RULES.all)){r+=" "+m+" = true; if ("+l+".length > "+T+") { ";var O=l+"["+T+"]";p.schema=S,p.schemaPath=s+"["+T+"]",p.errSchemaPath=u+"/"+T,p.errorPath=t.util.getPathExpr(t.errorPath,T,t.opts.jsonPointers,!0),p.dataPathArr[v]=T;var N=t.validate(p);p.baseId=b,t.util.varOccurences(N,g)<2?r+=" "+t.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",r+=" } ",c&&(r+=" if ("+m+") { ",d+="}")}"object"==typeof _&&(t.opts.strictKeywords?"object"==typeof _&&Object.keys(_).length>0||!1===_:t.util.schemaHasRules(_,t.RULES.all))&&(p.schema=_,p.schemaPath=t.schemaPath+".additionalItems",p.errSchemaPath=t.errSchemaPath+"/additionalItems",r+=" "+m+" = true; if ("+l+".length > "+a.length+") { for (var "+y+" = "+a.length+"; "+y+" < "+l+".length; "+y+"++) { ",p.errorPath=t.util.getPathExpr(t.errorPath,y,t.opts.jsonPointers,!0),O=l+"["+y+"]",p.dataPathArr[v]=y,N=t.validate(p),p.baseId=b,t.util.varOccurences(N,g)<2?r+=" "+t.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",c&&(r+=" if (!"+m+") break; "),r+=" } } ",c&&(r+=" if ("+m+") { ",d+="}"))}else(t.opts.strictKeywords?"object"==typeof a&&Object.keys(a).length>0||!1===a:t.util.schemaHasRules(a,t.RULES.all))&&(p.schema=a,p.schemaPath=s,p.errSchemaPath=u,r+=" for (var "+y+" = 0; "+y+" < "+l+".length; "+y+"++) { ",p.errorPath=t.util.getPathExpr(t.errorPath,y,t.opts.jsonPointers,!0),O=l+"["+y+"]",p.dataPathArr[v]=y,N=t.validate(p),p.baseId=b,t.util.varOccurences(N,g)<2?r+=" "+t.util.varReplace(N,g,O)+" ":r+=" var "+g+" = "+O+"; "+N+" ",c&&(r+=" if (!"+m+") break; "),r+=" }");return c&&(r+=" "+d+" if ("+f+" == errors) {"),r}},673:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;if(f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,!f&&"number"!=typeof s)throw new Error(e+" must be number");i+="var division"+o+";if (",f&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+o+" = "+h+" / "+r+", ",t.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+t.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",f&&(i+=" ) "),i+=" ) { ";var p=p||[];p.push(i),i="",!1!==t.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { multipleOf: "+r+" } ",!1!==t.opts.messages&&(i+=" , message: 'should be multiple of ",i+=f?"' + "+r:r+"'"),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var d=i;return i=p.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},528:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=t.util.copy(t);f.level++;var p="valid"+f.level;if(t.opts.strictKeywords?"object"==typeof a&&Object.keys(a).length>0||!1===a:t.util.schemaHasRules(a,t.RULES.all)){f.schema=a,f.schemaPath=s,f.errSchemaPath=u,r+=" var "+h+" = errors; ";var d,m=t.compositeRule;t.compositeRule=f.compositeRule=!0,f.createErrors=!1,f.opts.allErrors&&(d=f.opts.allErrors,f.opts.allErrors=!1),r+=" "+t.validate(f)+" ",f.createErrors=!0,d&&(f.opts.allErrors=d),t.compositeRule=f.compositeRule=m,r+=" if ("+p+") { ";var y=y||[];y.push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: {} ",!1!==t.opts.messages&&(r+=" , message: 'should NOT be valid' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var v=r;r=y.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",t.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==t.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: {} ",!1!==t.opts.messages&&(r+=" , message: 'should NOT be valid' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ");return r}},709:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f="errs__"+i,p=t.util.copy(t),d="";p.level++;var m="valid"+p.level,y=p.baseId,v="prevValid"+i,g="passingSchemas"+i;r+="var "+f+" = errors , "+v+" = false , "+h+" = false , "+g+" = null; ";var b=t.compositeRule;t.compositeRule=p.compositeRule=!0;var _=a;if(_)for(var w,x=-1,k=_.length-1;x0||!1===w:t.util.schemaHasRules(w,t.RULES.all))?(p.schema=w,p.schemaPath=s+"["+x+"]",p.errSchemaPath=u+"/"+x,r+=" "+t.validate(p)+" ",p.baseId=y):r+=" var "+m+" = true; ",x&&(r+=" if ("+m+" && "+v+") { "+h+" = false; "+g+" = ["+g+", "+x+"]; } else { ",d+="}"),r+=" if ("+m+") { "+h+" = "+v+" = true; "+g+" = "+x+"; }";return t.compositeRule=p.compositeRule=b,r+=d+"if (!"+h+") { var err = ",!1!==t.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { passingSchemas: "+g+" } ",!1!==t.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!t.compositeRule&&c&&(t.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; }",t.opts.allErrors&&(r+=" } "),r}},614:t=>{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f=t.opts.$data&&s&&s.$data;f?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,i+="if ( ",f&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(f?"(new RegExp("+r+"))":t.usePattern(s))+".test("+h+") ) { ";var p=p||[];p.push(i),i="",!1!==t.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { pattern: ",i+=f?""+r:""+t.util.toQuotedString(s),i+=" } ",!1!==t.opts.messages&&(i+=" , message: 'should match pattern \"",i+=f?"' + "+r+" + '":""+t.util.escapeQuotes(s),i+="\"' "),t.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+t.util.toQuotedString(s),i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var d=i;return i=p.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+d+"]); ":i+=" validate.errors = ["+d+"]; return false; ":i+=" var err = "+d+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",l&&(i+=" else { "),i}},175:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=t.util.copy(t),p="";f.level++;var d="valid"+f.level,m="key"+i,y="idx"+i,v=f.dataLevel=t.dataLevel+1,g="data"+v,b="dataProperties"+i,_=Object.keys(a||{}).filter(R),w=t.schema.patternProperties||{},x=Object.keys(w).filter(R),k=t.schema.additionalProperties,E=_.length||x.length,S=!1===k,T="object"==typeof k&&Object.keys(k).length,A=t.opts.removeAdditional,O=S||T||A,N=t.opts.ownProperties,P=t.baseId,C=t.schema.required;if(C&&(!t.opts.$data||!C.$data)&&C.length8)r+=" || validate.schema"+s+".hasOwnProperty("+m+") ";else{var I=_;if(I)for(var D=-1,M=I.length-1;D0||!1===Z:t.util.schemaHasRules(Z,t.RULES.all)){var J=t.util.getProperty(Y),tt=(H=l+J,W&&void 0!==Z.default);if(f.schema=Z,f.schemaPath=s+J,f.errSchemaPath=u+"/"+t.util.escapeFragment(Y),f.errorPath=t.util.getPath(t.errorPath,Y,t.opts.jsonPointers),f.dataPathArr[v]=t.util.toQuotedString(Y),$=t.validate(f),f.baseId=P,t.util.varOccurences($,g)<2){$=t.util.varReplace($,g,H);var et=H}else et=g,r+=" var "+g+" = "+H+"; ";if(tt)r+=" "+$+" ";else{if(L&&L[Y]){r+=" if ( "+et+" === undefined ",N&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+t.util.escapeQuotes(Y)+"') "),r+=") { "+d+" = false; ",z=t.errorPath,V=u;var nt,rt=t.util.escapeQuotes(Y);t.opts._errorDataPathProperty&&(t.errorPath=t.util.getPath(z,Y,t.opts.jsonPointers)),u=t.errSchemaPath+"/required",(nt=nt||[]).push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { missingProperty: '"+rt+"' } ",!1!==t.opts.messages&&(r+=" , message: '",t.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+rt+"\\'",r+="' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ",q=r,r=nt.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+q+"]); ":r+=" validate.errors = ["+q+"]; return false; ":r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=V,t.errorPath=z,r+=" } else { "}else c?(r+=" if ( "+et+" === undefined ",N&&(r+=" || ! Object.prototype.hasOwnProperty.call("+l+", '"+t.util.escapeQuotes(Y)+"') "),r+=") { "+d+" = true; } else { "):(r+=" if ("+et+" !== undefined ",N&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", '"+t.util.escapeQuotes(Y)+"') "),r+=" ) { ");r+=" "+$+" } "}}c&&(r+=" if ("+d+") { ",p+="}")}}if(x.length){var it=x;if(it)for(var ot,at=-1,st=it.length-1;at0||!1===Z:t.util.schemaHasRules(Z,t.RULES.all))&&(f.schema=Z,f.schemaPath=t.schemaPath+".patternProperties"+t.util.getProperty(ot),f.errSchemaPath=t.errSchemaPath+"/patternProperties/"+t.util.escapeFragment(ot),r+=N?" "+b+" = "+b+" || Object.keys("+l+"); for (var "+y+"=0; "+y+"<"+b+".length; "+y+"++) { var "+m+" = "+b+"["+y+"]; ":" for (var "+m+" in "+l+") { ",r+=" if ("+t.usePattern(ot)+".test("+m+")) { ",f.errorPath=t.util.getPathExpr(t.errorPath,m,t.opts.jsonPointers),H=l+"["+m+"]",f.dataPathArr[v]=m,$=t.validate(f),f.baseId=P,t.util.varOccurences($,g)<2?r+=" "+t.util.varReplace($,g,H)+" ":r+=" var "+g+" = "+H+"; "+$+" ",c&&(r+=" if (!"+d+") break; "),r+=" } ",c&&(r+=" else "+d+" = true; "),r+=" } ",c&&(r+=" if ("+d+") { ",p+="}"))}return c&&(r+=" "+p+" if ("+h+" == errors) {"),r}},441:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="errs__"+i,f=t.util.copy(t);f.level++;var p="valid"+f.level;if(r+="var "+h+" = errors;",t.opts.strictKeywords?"object"==typeof a&&Object.keys(a).length>0||!1===a:t.util.schemaHasRules(a,t.RULES.all)){f.schema=a,f.schemaPath=s,f.errSchemaPath=u;var d="key"+i,m="idx"+i,y="i"+i,v="' + "+d+" + '",g="data"+(f.dataLevel=t.dataLevel+1),b="dataProperties"+i,_=t.opts.ownProperties,w=t.baseId;_&&(r+=" var "+b+" = undefined; "),r+=_?" "+b+" = "+b+" || Object.keys("+l+"); for (var "+m+"=0; "+m+"<"+b+".length; "+m+"++) { var "+d+" = "+b+"["+m+"]; ":" for (var "+d+" in "+l+") { ",r+=" var startErrs"+i+" = errors; ";var x=d,k=t.compositeRule;t.compositeRule=f.compositeRule=!0;var E=t.validate(f);f.baseId=w,t.util.varOccurences(E,g)<2?r+=" "+t.util.varReplace(E,g,x)+" ":r+=" var "+g+" = "+x+"; "+E+" ",t.compositeRule=f.compositeRule=k,r+=" if (!"+p+") { for (var "+y+"=startErrs"+i+"; "+y+"{"use strict";t.exports=function(t,e,n){var r,i,o=" ",a=t.level,s=t.dataLevel,u=t.schema[e],c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(s||""),f="valid"+a;if("#"==u||"#/"==u)t.isRoot?(r=t.async,i="validate"):(r=!0===t.root.schema.$async,i="root.refVal[0]");else{var p=t.resolveRef(t.baseId,u,t.isRoot);if(void 0===p){var d=t.MissingRefError.message(t.baseId,u);if("fail"==t.opts.missingRefs){t.logger.error(d),(g=g||[]).push(o),o="",!1!==t.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { ref: '"+t.util.escapeQuotes(u)+"' } ",!1!==t.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+t.util.escapeQuotes(u)+"' "),t.opts.verbose&&(o+=" , schema: "+t.util.toQuotedString(u)+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),o+=" } "):o+=" {} ";var m=o;o=g.pop(),!t.compositeRule&&l?t.async?o+=" throw new ValidationError(["+m+"]); ":o+=" validate.errors = ["+m+"]; return false; ":o+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(o+=" if (false) { ")}else{if("ignore"!=t.opts.missingRefs)throw new t.MissingRefError(t.baseId,u,d);t.logger.warn(d),l&&(o+=" if (true) { ")}}else if(p.inline){var y=t.util.copy(t);y.level++;var v="valid"+y.level;y.schema=p.schema,y.schemaPath="",y.errSchemaPath=u,o+=" "+t.validate(y).replace(/validate\.schema/g,p.code)+" ",l&&(o+=" if ("+v+") { ")}else r=!0===p.$async||t.async&&!1!==p.$async,i=p.code}if(i){var g;(g=g||[]).push(o),o="",t.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+h+", (dataPath || '')",'""'!=t.errorPath&&(o+=" + "+t.errorPath);var b=o+=" , "+(s?"data"+(s-1||""):"parentData")+" , "+(s?t.dataPathArr[s]:"parentDataProperty")+", rootData) ";if(o=g.pop(),r){if(!t.async)throw new Error("async schema referenced by sync schema");l&&(o+=" var "+f+"; "),o+=" try { await "+b+"; ",l&&(o+=" "+f+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",l&&(o+=" "+f+" = false; "),o+=" } ",l&&(o+=" if ("+f+") { ")}else o+=" if (!"+b+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",l&&(o+=" else { ")}return o}},287:t=>{"use strict";t.exports=function(t,e,n){var r=" ",i=t.level,o=t.dataLevel,a=t.schema[e],s=t.schemaPath+t.util.getProperty(e),u=t.errSchemaPath+"/"+e,c=!t.opts.allErrors,l="data"+(o||""),h="valid"+i,f=t.opts.$data&&a&&a.$data;f&&(r+=" var schema"+i+" = "+t.util.getData(a.$data,o,t.dataPathArr)+"; ");var p="schema"+i;if(!f)if(a.length0||!1===b:t.util.schemaHasRules(b,t.RULES.all))||(d[d.length]=y)}}else d=a;if(f||d.length){var _=t.errorPath,w=f||d.length>=t.opts.loopRequired,x=t.opts.ownProperties;if(c)if(r+=" var missing"+i+"; ",w){f||(r+=" var "+p+" = validate.schema"+s+"; ");var k="' + "+(N="schema"+i+"["+(A="i"+i)+"]")+" + '";t.opts._errorDataPathProperty&&(t.errorPath=t.util.getPathExpr(_,N,t.opts.jsonPointers)),r+=" var "+h+" = true; ",f&&(r+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),r+=" for (var "+A+" = 0; "+A+" < "+p+".length; "+A+"++) { "+h+" = "+l+"["+p+"["+A+"]] !== undefined ",x&&(r+=" && Object.prototype.hasOwnProperty.call("+l+", "+p+"["+A+"]) "),r+="; if (!"+h+") break; } ",f&&(r+=" } "),r+=" if (!"+h+") { ",(S=S||[]).push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(u)+" , params: { missingProperty: '"+k+"' } ",!1!==t.opts.messages&&(r+=" , message: '",t.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+k+"\\'",r+="' "),t.opts.verbose&&(r+=" , schema: validate.schema"+s+" , parentSchema: validate.schema"+t.schemaPath+" , data: "+l+" "),r+=" } "):r+=" {} ";var E=r;r=S.pop(),!t.compositeRule&&c?t.async?r+=" throw new ValidationError(["+E+"]); ":r+=" validate.errors = ["+E+"]; return false; ":r+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var S,T=d;if(T)for(var A=-1,O=T.length-1;A{"use strict";t.exports=function(t,e,n){var r,i=" ",o=t.level,a=t.dataLevel,s=t.schema[e],u=t.schemaPath+t.util.getProperty(e),c=t.errSchemaPath+"/"+e,l=!t.opts.allErrors,h="data"+(a||""),f="valid"+o,p=t.opts.$data&&s&&s.$data;if(p?(i+=" var schema"+o+" = "+t.util.getData(s.$data,a,t.dataPathArr)+"; ",r="schema"+o):r=s,(s||p)&&!1!==t.opts.uniqueItems){p&&(i+=" var "+f+"; if ("+r+" === false || "+r+" === undefined) "+f+" = true; else if (typeof "+r+" != 'boolean') "+f+" = false; else { "),i+=" var i = "+h+".length , "+f+" = true , j; if (i > 1) { ";var d=t.schema.items&&t.schema.items.type,m=Array.isArray(d);if(!d||"object"==d||"array"==d||m&&(d.indexOf("object")>=0||d.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+f+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var y="checkDataType"+(m?"s":"");i+=" if ("+t.util[y](d,"item",t.opts.strictNumbers,!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",p&&(i+=" } "),i+=" if (!"+f+") { ";var v=v||[];v.push(i),i="",!1!==t.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(c)+" , params: { i: i, j: j } ",!1!==t.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),t.opts.verbose&&(i+=" , schema: ",i+=p?"validate.schema"+u:""+s,i+=" , parentSchema: validate.schema"+t.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var g=i;i=v.pop(),!t.compositeRule&&l?t.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",l&&(i+=" else { ")}else l&&(i+=" if (true) { ");return i}},508:t=>{"use strict";t.exports=function(t,e,n){var r="",i=!0===t.schema.$async,o=t.util.schemaHasRulesExcept(t.schema,t.RULES.all,"$ref"),a=t.self._getId(t.schema);if(t.opts.strictKeywords){var s=t.util.schemaUnknownRules(t.schema,t.RULES.keywords);if(s){var u="unknown keyword: "+s;if("log"!==t.opts.strictKeywords)throw new Error(u);t.logger.warn(u)}}if(t.isTop&&(r+=" var validate = ",i&&(t.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",a&&(t.opts.sourceCode||t.opts.processCode)&&(r+=" /*# sourceURL="+a+" */ ")),"boolean"==typeof t.schema||!o&&!t.schema.$ref){e="false schema";var c=t.level,l=t.dataLevel,h=t.schema[e],f=t.schemaPath+t.util.getProperty(e),p=t.errSchemaPath+"/"+e,d=!t.opts.allErrors,m="data"+(l||""),y="valid"+c;if(!1===t.schema){t.isTop?d=!0:r+=" var "+y+" = false; ",(H=H||[]).push(r),r="",!1!==t.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+t.errorPath+" , schemaPath: "+t.util.toQuotedString(p)+" , params: {} ",!1!==t.opts.messages&&(r+=" , message: 'boolean schema is false' "),t.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+t.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;r=H.pop(),!t.compositeRule&&d?t.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else t.isTop?r+=i?" return data; ":" validate.errors = null; return true; ":r+=" var "+y+" = true; ";return t.isTop&&(r+=" }; return validate; "),r}if(t.isTop){var g=t.isTop;if(c=t.level=0,l=t.dataLevel=0,m="data",t.rootId=t.resolve.fullPath(t.self._getId(t.root.schema)),t.baseId=t.baseId||t.rootId,delete t.isTop,t.dataPathArr=[""],void 0!==t.schema.default&&t.opts.useDefaults&&t.opts.strictDefaults){var b="default is ignored in the schema root";if("log"!==t.opts.strictDefaults)throw new Error(b);t.logger.warn(b)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{if(c=t.level,m="data"+((l=t.dataLevel)||""),a&&(t.baseId=t.resolve.url(t.baseId,a)),i&&!t.async)throw new Error("async schema in sync schema");r+=" var errs_"+c+" = errors;"}y="valid"+c,d=!t.opts.allErrors;var _="",w="",x=t.schema.type,k=Array.isArray(x);if(x&&t.opts.nullable&&!0===t.schema.nullable&&(k?-1==x.indexOf("null")&&(x=x.concat("null")):"null"!=x&&(x=[x,"null"],k=!0)),k&&1==x.length&&(x=x[0],k=!1),t.schema.$ref&&o){if("fail"==t.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+t.errSchemaPath+'" (see option extendRefs)');!0!==t.opts.extendRefs&&(o=!1,t.logger.warn('$ref: keywords ignored in schema at path "'+t.errSchemaPath+'"'))}if(t.schema.$comment&&t.opts.$comment&&(r+=" "+t.RULES.all.$comment.code(t,"$comment")),x){if(t.opts.coerceTypes)var E=t.util.coerceToTypes(t.opts.coerceTypes,x);var S=t.RULES.types[x];if(E||k||!0===S||S&&!X(S)){f=t.schemaPath+".type",p=t.errSchemaPath+"/type",f=t.schemaPath+".type",p=t.errSchemaPath+"/type";var T=k?"checkDataTypes":"checkDataType";if(r+=" if ("+t.util[T](x,m,t.opts.strictNumbers,!0)+") { ",E){var A="dataType"+c,O="coerced"+c;r+=" var "+A+" = typeof "+m+"; var "+O+" = undefined; ","array"==t.opts.coerceTypes&&(r+=" if ("+A+" == 'object' && Array.isArray("+m+") && "+m+".length == 1) { "+m+" = "+m+"[0]; "+A+" = typeof "+m+"; if ("+t.util.checkDataType(t.schema.type,m,t.opts.strictNumbers)+") "+O+" = "+m+"; } "),r+=" if ("+O+" !== undefined) ; ";var N=E;if(N)for(var P,C=-1,L=N.length-1;C{"use strict";var r=/^[a-z_$][a-z0-9_$-]*$/i,i=n(165),o=n(128);t.exports={add:function(t,e){var n=this.RULES;if(n.keywords[t])throw new Error("Keyword "+t+" is already defined");if(!r.test(t))throw new Error("Keyword "+t+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var o=e.type;if(Array.isArray(o))for(var a=0;a{var n,r,i,o,a,s,u,c,l,h,f,p,d,m,y,v,g,b;function _(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function w(t,e,n){return(e=D(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function x(){"use strict";x=function(){return e};var t,e={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,n){return t[e]=n}}function l(t,e,n,r){var o=e&&e.prototype instanceof v?e:v,a=Object.create(o.prototype),s=new C(r||[]);return i(a,"_invoke",{value:A(t,n,s)}),a}function h(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var f="suspendedStart",p="suspendedYield",d="executing",m="completed",y={};function v(){}function g(){}function b(){}var _={};c(_,a,(function(){return this}));var w=Object.getPrototypeOf,k=w&&w(w(L([])));k&&k!==n&&r.call(k,a)&&(_=k);var E=b.prototype=v.prototype=Object.create(_);function S(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function n(i,o,a,s){var u=h(t[i],t,o);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==z(l)&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,s)}),(function(t){n("throw",t,a,s)})):e.resolve(l).then((function(t){c.value=t,a(c)}),(function(t){return n("throw",t,a,s)}))}s(u.arg)}var o;i(this,"_invoke",{value:function(t,r){function i(){return new e((function(e,i){n(t,r,e,i)}))}return o=o?o.then(i,i):i()}})}function A(e,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===m){if("throw"===o)throw a;return{value:t,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var u=O(s,r);if(u){if(u===y)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var c=h(e,n,r);if("normal"===c.type){if(i=r.done?m:p,c.arg===y)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(i=m,r.method="throw",r.arg=c.arg)}}}function O(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,O(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=h(i,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function L(e){if(e||""===e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function n(){for(;++i=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;P(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},e}function k(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||F(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e,n){return e=C(e),function(t,e){if(e&&("object"===z(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return S(t)}(t,N()?Reflect.construct(e,n||[],C(t).constructor):e.apply(t,n))}function S(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function T(){return T="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=C(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},T.apply(this,arguments)}function A(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&P(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return O=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(N())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&P(i,n.prototype),i}(t,arguments,C(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),P(n,t)},O(t)}function N(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(N=function(){return!!t})()}function P(t,e){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},P(t,e)}function C(t){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},C(t)}function L(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function R(t,e){for(var n=0;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function F(t,e){if(t){if("string"==typeof t)return B(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(t,e):void 0}}function B(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n":">","\\":"\"},a=/[&"'<>\\]/g;function s(t,e){return i.hasOwnProperty.call(t,e)}function u(t){return o[t]}function c(t,e,n){var r,i,o;if(t instanceof Error&&(t=(i=t).name+": "+i.message),Object.setPrototypeOf?(r=new Error(t),Object.setPrototypeOf(r,c.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:t})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var a=Object.getOwnPropertyDescriptor(i,"stack");(o=a&&(a.get||function(){return a.value}))||(o=function(){return i.stack})}else{var s=new Error(t).stack;o=function(){return s}}return Object.defineProperty(r,"stack",{get:function(){return o.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=e,r.colno=n,r.firstUpdate=!0,r.Update=function(t){var e="("+(t||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?e+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(e+=" [Line "+this.lineno+"]")),e+="\n ",this.firstUpdate&&(e+=" "),this.message=e+(this.message||""),this.firstUpdate=!1,this},r}function l(t){return"[object Function]"===i.toString.call(t)}function h(t){return"[object Array]"===i.toString.call(t)}function f(t){return"[object String]"===i.toString.call(t)}function p(t){return"[object Object]"===i.toString.call(t)}function d(t){var e,n=(e=t)?"string"==typeof e?e.split("."):[e]:[];return function(t){for(var e=t,r=0;rt.length)a=i.slice(0,t.length),i.slice(a.length,c).forEach((function(t,n){n2?i-2:0),a=2;a0||!n)&&process.stdout.write(" ".repeat(e));var o=i===r.length-1?"":"\n";process.stdout.write(""+t+o)}))}t.exports={Node:u,Root:h,NodeList:l,Value:c,Literal:f,Symbol:p,Group:d,Array:m,Pair:y,Dict:v,Output:U,Capture:V,TemplateData:q,If:b,IfAsync:_,InlineIf:w,For:x,AsyncEach:k,AsyncAll:E,Macro:S,Caller:T,Import:A,FromImport:O,FunCall:N,Filter:P,FilterAsync:C,KeywordArgs:L,Block:R,Super:I,Extends:D,Include:M,Set:j,Switch:F,Case:B,LookupVal:g,BinOp:H,In:$,Is:W,Or:G,And:Y,Not:Q,Add:X,Concat:Z,Sub:J,Mul:tt,Div:et,FloorDiv:nt,Mod:rt,Pow:it,Neg:ot,Pos:at,Compare:st,CompareOperand:ut,CallExtension:ct,CallExtensionAsync:lt,printNodes:function t(e,n){if(n=n||0,ht(e.typename+": ",n),e instanceof l)ht("\n"),e.children.forEach((function(e){t(e,n+2)}));else if(e instanceof ct)ht(e.extName+"."+e.prop+"\n"),e.args&&t(e.args,n+2),e.contentArgs&&e.contentArgs.forEach((function(e){t(e,n+2)}));else{var r=[],i=null;e.iterFields((function(t,e){t instanceof u?r.push([e,t]):(i=i||{})[e]=t})),i?ht(JSON.stringify(i,null,2)+"\n",null,!0):ht("\n"),r.forEach((function(e){var r=e[0],i=e[1];ht("["+r+"] =>",n+2),t(i,n+4)}))}}}},function(t,e){},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=n(8),o=n(17),a=n(3),s=n(0).TemplateError,u=n(2).Frame,c=n(1).Obj,l={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},h=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n);var o=i.prototype;return o.init=function(t,e){this.templateName=t,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=e},o.fail=function(t,e,n){throw void 0!==e&&(e+=1),void 0!==n&&(n+=1),new s(t,e,n)},o._pushBuffer=function(){var t=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=t,this._emit("var "+this.buffer+' = "";'),t},o._popBuffer=function(){this.buffer=this.bufferStack.pop()},o._emit=function(t){this.codebuf.push(t)},o._emitLine=function(t){this._emit(t+"\n")},o._emitLines=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r0&&i._emit(","),i.compile(t,e)})),r&&this._emit(r)},o._compileExpression=function(t,e){this.assertType(t,a.Literal,a.Symbol,a.Group,a.Array,a.Dict,a.FunCall,a.Caller,a.Filter,a.LookupVal,a.Compare,a.InlineIf,a.In,a.Is,a.And,a.Or,a.Not,a.Add,a.Concat,a.Sub,a.Mul,a.Div,a.FloorDiv,a.Mod,a.Pow,a.Neg,a.Pos,a.Compare,a.NodeList),this.compile(t,e)},o.assertType=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&r._emit(","),t){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(t,e),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var u=this._tmpid();this._emitLine(", "+this._makeCallback(u)),this._emitLine(this.buffer+" += runtime.suppressValue("+u+", "+s+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+s+" && env.opts.autoescape);\n")},o.compileCallExtensionAsync=function(t,e){this.compileCallExtension(t,e,!0)},o.compileNodeList=function(t,e){this._compileChildren(t,e)},o.compileLiteral=function(t){if("string"==typeof t.value){var e=t.value.replace(/\\/g,"\\\\");e=(e=(e=(e=(e=e.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+e+'"')}else null===t.value?this._emit("null"):this._emit(t.value.toString())},o.compileSymbol=function(t,e){var n=t.value,r=e.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},o.compileGroup=function(t,e){this._compileAggregate(t,e,"(",")")},o.compileArray=function(t,e){this._compileAggregate(t,e,"[","]")},o.compileDict=function(t,e){this._compileAggregate(t,e,"{","}")},o.compilePair=function(t,e){var n=t.key,r=t.value;n instanceof a.Symbol?n=new a.Literal(n.lineno,n.colno,n.value):n instanceof a.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,e),this._emit(": "),this._compileExpression(r,e)},o.compileInlineIf=function(t,e){this._emit("("),this.compile(t.cond,e),this._emit("?"),this.compile(t.body,e),this._emit(":"),null!==t.else_?this.compile(t.else_,e):this._emit('""'),this._emit(")")},o.compileIn=function(t,e){this._emit("runtime.inOperator("),this.compile(t.left,e),this._emit(","),this.compile(t.right,e),this._emit(")")},o.compileIs=function(t,e){var n=t.right.name?t.right.name.value:t.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(t.left,e),t.right.args&&(this._emit(","),this.compile(t.right.args,e)),this._emit(") === true")},o._binOpEmitter=function(t,e,n){this.compile(t.left,e),this._emit(n),this.compile(t.right,e)},o.compileOr=function(t,e){return this._binOpEmitter(t,e," || ")},o.compileAnd=function(t,e){return this._binOpEmitter(t,e," && ")},o.compileAdd=function(t,e){return this._binOpEmitter(t,e," + ")},o.compileConcat=function(t,e){return this._binOpEmitter(t,e,' + "" + ')},o.compileSub=function(t,e){return this._binOpEmitter(t,e," - ")},o.compileMul=function(t,e){return this._binOpEmitter(t,e," * ")},o.compileDiv=function(t,e){return this._binOpEmitter(t,e," / ")},o.compileMod=function(t,e){return this._binOpEmitter(t,e," % ")},o.compileNot=function(t,e){this._emit("!"),this.compile(t.target,e)},o.compileFloorDiv=function(t,e){this._emit("Math.floor("),this.compile(t.left,e),this._emit(" / "),this.compile(t.right,e),this._emit(")")},o.compilePow=function(t,e){this._emit("Math.pow("),this.compile(t.left,e),this._emit(", "),this.compile(t.right,e),this._emit(")")},o.compileNeg=function(t,e){this._emit("-"),this.compile(t.target,e)},o.compilePos=function(t,e){this._emit("+"),this.compile(t.target,e)},o.compileCompare=function(t,e){var n=this;this.compile(t.expr,e),t.ops.forEach((function(t){n._emit(" "+l[t.type]+" "),n.compile(t.expr,e)}))},o.compileLookupVal=function(t,e){this._emit("runtime.memberLookup(("),this._compileExpression(t.target,e),this._emit("),"),this._compileExpression(t.val,e),this._emit(")")},o._getNodeName=function(t){switch(t.typename){case"Symbol":return t.value;case"FunCall":return"the return value of ("+this._getNodeName(t.name)+")";case"LookupVal":return this._getNodeName(t.target)+'["'+this._getNodeName(t.val)+'"]';case"Literal":return t.value.toString();default:return"--expression--"}},o.compileFunCall=function(t,e){this._emit("(lineno = "+t.lineno+", colno = "+t.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(t.name,e),this._emit(', "'+this._getNodeName(t.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(t.args,e,"[","])"),this._emit(")")},o.compileFilter=function(t,e){var n=t.name;this.assertType(n,a.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(t.args,e),this._emit(")")},o.compileFilterAsync=function(t,e){var n=t.name,r=t.symbol.value;this.assertType(n,a.Symbol),e.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(t.args,e),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},o.compileKeywordArgs=function(t,e){this._emit("runtime.makeKeywordArgs("),this.compileDict(t,e),this._emit(")")},o.compileSet=function(t,e){var n=this,r=[];t.targets.forEach((function(t){var i=t.value,o=e.lookup(i);null==o&&(o=n._tmpid(),n._emitLine("var "+o+";")),r.push(o)})),t.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(t.value,e),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(t.body,e),this._emitLine(";")),t.targets.forEach((function(t,e){var i=r[e],o=t.value;n._emitLine('frame.set("'+o+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+o+'", '+i+");"),n._emitLine("}"),"_"!==o.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+o+'", '+i+");"),n._emitLine("}"))}))},o.compileSwitch=function(t,e){var n=this;this._emit("switch ("),this.compile(t.expr,e),this._emit(") {"),t.cases.forEach((function(t,r){n._emit("case "),n.compile(t.cond,e),n._emit(": "),n.compile(t.body,e),t.body.children.length&&n._emitLine("break;")})),t.default&&(this._emit("default:"),this.compile(t.default,e)),this._emit("}")},o.compileIf=function(t,e,n){var r=this;this._emit("if("),this._compileExpression(t.cond,e),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(t.body,e),n&&r._emit("cb()")})),t.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(t.else_,e),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},o.compileIfAsync=function(t,e){this._emit("(function(cb) {"),this.compileIf(t,e,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},o._emitLoopBindings=function(t,e,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(t){i._emitLine('frame.set("loop.'+t.name+'", '+t.val+");")}))},o.compileFor=function(t,e){var n=this,r=this._tmpid(),i=this._tmpid(),o=this._tmpid();if(e=e.push(),this._emitLine("frame = frame.push();"),this._emit("var "+o+" = "),this._compileExpression(t.arr,e),this._emitLine(";"),this._emit("if("+o+") {"),this._emitLine(o+" = runtime.fromIterator("+o+");"),t.name instanceof a.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+o+")) {"),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),t.name.children.forEach((function(i,a){var s=n._tmpid();n._emitLine("var "+s+" = "+o+"["+r+"]["+a+"];"),n._emitLine('frame.set("'+i+'", '+o+"["+r+"]["+a+"]);"),e.set(t.name.children[a].value,s)})),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}"),this._emitLine("} else {");var s=t.name.children,u=s[0],c=s[1],l=this._tmpid(),h=this._tmpid();e.set(u.value,l),e.set(c.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+o+").length;"),this._emitLine("for(var "+l+" in "+o+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+o+"["+l+"];"),this._emitLine('frame.set("'+u.value+'", '+l+");"),this._emitLine('frame.set("'+c.value+'", '+h+");"),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}"),this._emitLine("}")}else{var f=this._tmpid();e.set(t.name.value,f),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),this._emitLine("var "+f+" = "+o+"["+r+"];"),this._emitLine('frame.set("'+t.name.value+'", '+f+");"),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}")}this._emitLine("}"),t.else_&&(this._emitLine("if (!"+i+") {"),this.compile(t.else_,e),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o._compileAsyncLoop=function(t,e,n){var r=this,i=this._tmpid(),o=this._tmpid(),s=this._tmpid(),u=n?"asyncAll":"asyncEach";if(e=e.push(),this._emitLine("frame = frame.push();"),this._emit("var "+s+" = runtime.fromIterator("),this._compileExpression(t.arr,e),this._emitLine(");"),t.name instanceof a.Array){var c=t.name.children.length;this._emit("runtime."+u+"("+s+", "+c+", function("),t.name.children.forEach((function(t){r._emit(t.value+",")})),this._emit(i+","+o+",next) {"),t.name.children.forEach((function(t){var n=t.value;e.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=t.name.value;this._emitLine("runtime."+u+"("+s+", 1, function("+l+", "+i+", "+o+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),e.set(l,l)}this._emitLoopBindings(t,s,i,o),this._withScopedSyntax((function(){var o;n&&(o=r._pushBuffer()),r.compile(t.body,e),r._emitLine("next("+i+(o?","+o:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),t.else_&&(this._emitLine("if (!"+s+".length) {"),this.compile(t.else_,e),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o.compileAsyncEach=function(t,e){this._compileAsyncLoop(t,e)},o.compileAsyncAll=function(t,e){this._compileAsyncLoop(t,e,!0)},o._compileMacro=function(t,e){var n=this,r=[],i=null,o="macro_"+this._tmpid(),s=void 0!==e;t.args.children.forEach((function(e,o){o===t.args.children.length-1&&e instanceof a.Dict?i=e:(n.assertType(e,a.Symbol),r.push(e))}));var c,l=[].concat(r.map((function(t){return"l_"+t.value})),["kwargs"]),h=r.map((function(t){return'"'+t.value+'"'})),f=(i&&i.children||[]).map((function(t){return'"'+t.key.value+'"'}));c=s?e.push(!0):new u,this._emitLines("var "+o+" = runtime.makeMacro(","["+h.join(", ")+"], ","["+f.join(", ")+"], ","function ("+l.join(", ")+") {","var callerFrame = frame;","frame = "+(s?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(t){n._emitLine('frame.set("'+t.value+'", l_'+t.value+");"),c.set(t.value,"l_"+t.value)})),i&&i.children.forEach((function(t){var e=t.key.value;n._emit('frame.set("'+e+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+e+'")'),n._emit(' ? kwargs["'+e+'"] : '),n._compileExpression(t.value,c),n._emit(");")}));var p=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(t.body,c)})),this._emitLine("frame = "+(s?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+p+");"),this._emitLine("});"),this._popBuffer(),o},o.compileMacro=function(t,e){var n=this._compileMacro(t),r=t.name.value;e.set(r,n),e.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==t.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},o.compileCaller=function(t,e){this._emit("(function (){");var n=this._compileMacro(t,e);this._emit("return "+n+";})()")},o._compileGetTemplate=function(t,e,n,r){var i=this._tmpid(),o=this._templateName(),a=this._makeCallback(i),s=n?"true":"false",u=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(t.template,e),this._emitLine(", "+s+", "+o+", "+u+", "+a),i},o.compileImport=function(t,e){var n=t.target.value,r=this._compileGetTemplate(t,e,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(t.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.set(n,r),e.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},o.compileFromImport=function(t,e){var n=this,r=this._compileGetTemplate(t,e,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(t.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.names.children.forEach((function(t){var i,o,s=n._tmpid();t instanceof a.Pair?(i=t.key.value,o=t.value.value):o=i=t.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+s+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),e.set(o,s),e.parent?n._emitLine('frame.set("'+o+'", '+s+");"):n._emitLine('context.setVariable("'+o+'", '+s+");")}))},o.compileBlock=function(t){var e=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+t.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(e)),this._emitLine(this.buffer+" += "+e+";"),this._addScopeLevel()},o.compileSuper=function(t,e){var n=t.blockName.value,r=t.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),e.set(r,r)},o.compileExtends=function(t,e){var n=this._tmpid(),r=this._compileGetTemplate(t,e,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},o.compileInclude=function(t,e){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(t,e,!1,t.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},o.compileTemplateData=function(t,e){this.compileLiteral(t,e)},o.compileCapture=function(t,e){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},o.compileOutput=function(t,e){var n=this;t.children.forEach((function(r){r instanceof a.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,e),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,e),n.throwOnUndefined&&n._emit(","+t.lineno+","+t.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},o.compileRoot=function(t,e){var n=this;e&&this.fail("compileRoot: root node can't have frame"),e=new u,this._emitFuncBegin(t,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(t,e),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=t.findAll(a.Block);i.forEach((function(t,e){var i=t.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(t,"b_"+i);var o=new u;n._emitLine("var frame = frame.push(true);"),n.compile(t.body,o),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(t,e){var r="b_"+t.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},o.compile=function(t,e){var n=this["compile"+t.typename];n?n.call(this,t,e):this.fail("compile: Cannot compile node: "+t.typename,t.lineno,t.colno)},o.getCode=function(){return this.codebuf.join("")},i}(c);t.exports={compile:function(t,e,n,r,a){void 0===a&&(a={});var s=new h(r,a.throwOnUndefined),u=(n||[]).map((function(t){return t.preprocess})).filter((function(t){return!!t})).reduce((function(t,e){return e(t)}),t);return s.compile(o.transform(i.parse(u,n,a),e,r)),s.getCode()},Compiler:h}},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=n(4),o=n(1).EmitterObj;t.exports=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n);var a=o.prototype;return a.resolve=function(t,e){return i.resolve(i.dirname(t),e)},a.isRelative=function(t){return 0===t.indexOf("./")||0===t.indexOf("../")},o}(o)},function(t,e,n){"use strict";function r(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,i(t,e)}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}var o=n(12),a=n(15),s=n(0),u=n(5),c=n(18),l=n(10),h=l.FileSystemLoader,f=l.WebLoader,p=l.PrecompiledLoader,d=n(20),m=n(21),y=n(1),v=y.Obj,g=y.EmitterObj,b=n(2),_=b.handleError,w=b.Frame,x=n(22);function k(t,e,n){o((function(){t(e,n)}))}var E={type:"code",obj:{root:function(t,e,n,r,i){try{i(null,"")}catch(t){i(_(t,null,null))}}}},S=function(t){function e(){return t.apply(this,arguments)||this}r(e,t);var n=e.prototype;return n.init=function(t,e){var n=this;e=this.opts=e||{},this.opts.dev=!!e.dev,this.opts.autoescape=null==e.autoescape||e.autoescape,this.opts.throwOnUndefined=!!e.throwOnUndefined,this.opts.trimBlocks=!!e.trimBlocks,this.opts.lstripBlocks=!!e.lstripBlocks,this.loaders=[],t?this.loaders=s.isArray(t)?t:[t]:h?this.loaders=[new h("views")]:f&&(this.loaders=[new f("/views")]),"undefined"!=typeof window&&window.nunjucksPrecompiled&&this.loaders.unshift(new p(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=m(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],s._entries(c).forEach((function(t){var e=t[0],r=t[1];return n.addFilter(e,r)})),s._entries(d).forEach((function(t){var e=t[0],r=t[1];return n.addTest(e,r)}))},n._initLoaders=function(){var t=this;this.loaders.forEach((function(e){e.cache={},"function"==typeof e.on&&(e.on("update",(function(n,r){e.cache[n]=null,t.emit("update",n,r,e)})),e.on("load",(function(n,r){t.emit("load",n,r,e)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(t){t.cache={}}))},n.addExtension=function(t,e){return e.__name=t,this.extensions[t]=e,this.extensionsList.push(e),this},n.removeExtension=function(t){var e=this.getExtension(t);e&&(this.extensionsList=s.without(this.extensionsList,e),delete this.extensions[t])},n.getExtension=function(t){return this.extensions[t]},n.hasExtension=function(t){return!!this.extensions[t]},n.addGlobal=function(t,e){return this.globals[t]=e,this},n.getGlobal=function(t){if(void 0===this.globals[t])throw new Error("global not found: "+t);return this.globals[t]},n.addFilter=function(t,e,n){var r=e;return n&&this.asyncFilters.push(t),this.filters[t]=r,this},n.getFilter=function(t){if(!this.filters[t])throw new Error("filter not found: "+t);return this.filters[t]},n.addTest=function(t,e){return this.tests[t]=e,this},n.getTest=function(t){if(!this.tests[t])throw new Error("test not found: "+t);return this.tests[t]},n.resolveTemplate=function(t,e,n){return t.isRelative&&e&&t.isRelative(n)&&t.resolve?t.resolve(e,n):n},n.getTemplate=function(t,e,n,r,i){var o,a=this,u=this,c=null;if(t&&t.raw&&(t=t.raw),s.isFunction(n)&&(i=n,n=null,e=e||!1),s.isFunction(e)&&(i=e,e=!1),t instanceof A)c=t;else{if("string"!=typeof t)throw new Error("template names must be a string: "+t);for(var l=0;l0&&!this.skip(i.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",t.lineno,t.colno);var s=this.parsePrimary();if("_"===s.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",s.lineno,s.colno),this.skipSymbol("as")){var u=this.parsePrimary();r.addChild(new o.Pair(s.lineno,s.colno,s,u))}else r.addChild(s);n=this.parseWithContext()}return new o.FromImport(t.lineno,t.colno,e,r,n)},u.parseBlock=function(){var t=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",t.lineno,t.colno);var e=new o.Block(t.lineno,t.colno);e.name=this.parsePrimary(),e.name instanceof o.Symbol||this.fail("parseBlock: variable name expected",t.lineno,t.colno),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(e.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),e},u.parseExtends=function(){var t="extends",e=this.peekToken();this.skipSymbol(t)||this.fail("parseTemplateRef: expected "+t);var n=new o.Extends(e.lineno,e.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(e.value),n},u.parseInclude=function(){var t="include",e=this.peekToken();this.skipSymbol(t)||this.fail("parseInclude: expected "+t);var n=new o.Include(e.lineno,e.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(e.value),n},u.parseIf=function(){var t,e=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?t=new o.If(e.lineno,e.colno):this.skipSymbol("ifAsync")?t=new o.IfAsync(e.lineno,e.colno):this.fail("parseIf: expected if, elif, or elseif",e.lineno,e.colno),t.cond=this.parseExpression(),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":t.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),t.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":t.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return t},u.parseSet=function(){var t=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",t.lineno,t.colno);for(var e,n=new o.Set(t.lineno,t.colno,[]);(e=this.parsePrimary())&&(n.targets.push(e),this.skip(i.TOKEN_COMMA)););return this.skipValue(i.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(t.value)):this.skip(i.TOKEN_BLOCK_END)?(n.body=new o.Capture(t.lineno,t.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",t.lineno,t.colno),n},u.parseSwitch=function(){var t="switch",e="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(t)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var a=this.parseExpression();this.advanceAfterBlockEnd(t),this.parseUntilBlocks(n,r,e);var s,u=this.peekToken(),c=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(t);var h=this.parseUntilBlocks(n,r,e);c.push(new o.Case(u.line,u.col,l,h)),u=this.peekToken()}while(u&&u.value===n);switch(u.value){case r:this.advanceAfterBlockEnd(),s=this.parseUntilBlocks(e),this.advanceAfterBlockEnd();break;case e:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new o.Switch(i.lineno,i.colno,a,c,s)},u.parseStatement=function(){var t=this.peekToken();if(t.type!==i.TOKEN_SYMBOL&&this.fail("tag name expected",t.lineno,t.colno),this.breakOnBlocks&&-1!==s.indexOf(this.breakOnBlocks,t.value))return null;switch(t.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var e=0;e0;){var u=a[0],c=a[1],l=a[2];l===t?r+=1:l===e&&(r-=1),0===r?(i+=c,this.tokens.backN(u.length-c.length)):i+=u}return new o.Output(s.lineno,s.colno,[new o.TemplateData(s.lineno,s.colno,i)])},u.parsePostfix=function(t){for(var e,n=this.peekToken();n;){if(n.type===i.TOKEN_LEFT_PAREN)t=new o.FunCall(n.lineno,n.colno,t,this.parseSignature());else if(n.type===i.TOKEN_LEFT_BRACKET)(e=this.parseAggregate()).children.length>1&&this.fail("invalid index"),t=new o.LookupVal(n.lineno,n.colno,t,e.children[0]);else{if(n.type!==i.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==i.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),e=new o.Literal(r.lineno,r.colno,r.value),t=new o.LookupVal(n.lineno,n.colno,t,e)}n=this.peekToken()}return t},u.parseExpression=function(){return this.parseInlineIf()},u.parseInlineIf=function(){var t=this.parseOr();if(this.skipSymbol("if")){var e=this.parseOr(),n=t;(t=new o.InlineIf(t.lineno,t.colno)).body=n,t.cond=e,this.skipSymbol("else")?t.else_=this.parseOr():t.else_=null}return t},u.parseOr=function(){for(var t=this.parseAnd();this.skipSymbol("or");){var e=this.parseAnd();t=new o.Or(t.lineno,t.colno,t,e)}return t},u.parseAnd=function(){for(var t=this.parseNot();this.skipSymbol("and");){var e=this.parseNot();t=new o.And(t.lineno,t.colno,t,e)}return t},u.parseNot=function(){var t=this.peekToken();return this.skipSymbol("not")?new o.Not(t.lineno,t.colno,this.parseNot()):this.parseIn()},u.parseIn=function(){for(var t=this.parseIs();;){var e=this.nextToken();if(!e)break;var n=e.type===i.TOKEN_SYMBOL&&"not"===e.value;if(n||this.pushToken(e),!this.skipSymbol("in")){n&&this.pushToken(e);break}var r=this.parseIs();t=new o.In(t.lineno,t.colno,t,r),n&&(t=new o.Not(t.lineno,t.colno,t))}return t},u.parseIs=function(){var t=this.parseCompare();if(this.skipSymbol("is")){var e=this.skipSymbol("not"),n=this.parseCompare();t=new o.Is(t.lineno,t.colno,t,n),e&&(t=new o.Not(t.lineno,t.colno,t))}return t},u.parseCompare=function(){for(var t=["==","===","!=","!==","<",">","<=",">="],e=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===t.indexOf(r.value)){this.pushToken(r);break}n.push(new o.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new o.Compare(n[0].lineno,n[0].colno,e,n):e},u.parseConcat=function(){for(var t=this.parseAdd();this.skipValue(i.TOKEN_TILDE,"~");){var e=this.parseAdd();t=new o.Concat(t.lineno,t.colno,t,e)}return t},u.parseAdd=function(){for(var t=this.parseSub();this.skipValue(i.TOKEN_OPERATOR,"+");){var e=this.parseSub();t=new o.Add(t.lineno,t.colno,t,e)}return t},u.parseSub=function(){for(var t=this.parseMul();this.skipValue(i.TOKEN_OPERATOR,"-");){var e=this.parseMul();t=new o.Sub(t.lineno,t.colno,t,e)}return t},u.parseMul=function(){for(var t=this.parseDiv();this.skipValue(i.TOKEN_OPERATOR,"*");){var e=this.parseDiv();t=new o.Mul(t.lineno,t.colno,t,e)}return t},u.parseDiv=function(){for(var t=this.parseFloorDiv();this.skipValue(i.TOKEN_OPERATOR,"/");){var e=this.parseFloorDiv();t=new o.Div(t.lineno,t.colno,t,e)}return t},u.parseFloorDiv=function(){for(var t=this.parseMod();this.skipValue(i.TOKEN_OPERATOR,"//");){var e=this.parseMod();t=new o.FloorDiv(t.lineno,t.colno,t,e)}return t},u.parseMod=function(){for(var t=this.parsePow();this.skipValue(i.TOKEN_OPERATOR,"%");){var e=this.parsePow();t=new o.Mod(t.lineno,t.colno,t,e)}return t},u.parsePow=function(){for(var t=this.parseUnary();this.skipValue(i.TOKEN_OPERATOR,"**");){var e=this.parseUnary();t=new o.Pow(t.lineno,t.colno,t,e)}return t},u.parseUnary=function(t){var e,n=this.peekToken();return e=this.skipValue(i.TOKEN_OPERATOR,"-")?new o.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(i.TOKEN_OPERATOR,"+")?new o.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),t||(e=this.parseFilter(e)),e},u.parsePrimary=function(t){var e,n=this.nextToken(),r=null;if(n?n.type===i.TOKEN_STRING?e=n.value:n.type===i.TOKEN_INT?e=parseInt(n.value,10):n.type===i.TOKEN_FLOAT?e=parseFloat(n.value):n.type===i.TOKEN_BOOLEAN?"true"===n.value?e=!0:"false"===n.value?e=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===i.TOKEN_NONE?e=null:n.type===i.TOKEN_REGEX&&(e=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==e?r=new o.Literal(n.lineno,n.colno,e):n.type===i.TOKEN_SYMBOL?r=new o.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),t||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},u.parseFilterName=function(){for(var t=this.expect(i.TOKEN_SYMBOL),e=t.value;this.skipValue(i.TOKEN_OPERATOR,".");)e+="."+this.expect(i.TOKEN_SYMBOL).value;return new o.Symbol(t.lineno,t.colno,e)},u.parseFilterArgs=function(t){return this.peekToken().type===i.TOKEN_LEFT_PAREN?this.parsePostfix(t).args.children:[]},u.parseFilter=function(t){for(;this.skip(i.TOKEN_PIPE);){var e=this.parseFilterName();t=new o.Filter(e.lineno,e.colno,e,new o.NodeList(e.lineno,e.colno,[t].concat(this.parseFilterArgs(t))))}return t},u.parseFilterStatement=function(){var t=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var e=this.parseFilterName(),n=this.parseFilterArgs(e);this.advanceAfterBlockEnd(t.value);var r=new o.Capture(e.lineno,e.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new o.Filter(e.lineno,e.colno,e,new o.NodeList(e.lineno,e.colno,[r].concat(n)));return new o.Output(e.lineno,e.colno,[i])},u.parseAggregate=function(){var t,e=this.nextToken();switch(e.type){case i.TOKEN_LEFT_PAREN:t=new o.Group(e.lineno,e.colno);break;case i.TOKEN_LEFT_BRACKET:t=new o.Array(e.lineno,e.colno);break;case i.TOKEN_LEFT_CURLY:t=new o.Dict(e.lineno,e.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===i.TOKEN_RIGHT_PAREN||n===i.TOKEN_RIGHT_BRACKET||n===i.TOKEN_RIGHT_CURLY){this.nextToken();break}if(t.children.length>0&&(this.skip(i.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",e.lineno,e.colno)),t instanceof o.Dict){var r=this.parsePrimary();this.skip(i.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",e.lineno,e.colno);var a=this.parseExpression();t.addChild(new o.Pair(r.lineno,r.colno,r,a))}else{var s=this.parseExpression();t.addChild(s)}}return t},u.parseSignature=function(t,e){var n=this.peekToken();if(!e&&n.type!==i.TOKEN_LEFT_PAREN){if(t)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===i.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new o.NodeList(n.lineno,n.colno),a=new o.KeywordArgs(n.lineno,n.colno),s=!1;;){if(n=this.peekToken(),!e&&n.type===i.TOKEN_RIGHT_PAREN){this.nextToken();break}if(e&&n.type===i.TOKEN_BLOCK_END)break;if(s&&!this.skip(i.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var u=this.parseExpression();this.skipValue(i.TOKEN_OPERATOR,"=")?a.addChild(new o.Pair(u.lineno,u.colno,u,this.parseExpression())):r.addChild(u)}s=!0}return a.children.length&&r.addChild(a),r},u.parseUntilBlocks=function(){for(var t=this.breakOnBlocks,e=arguments.length,n=new Array(e),r=0;r=","//","**"],j=C+this.current();switch(-1!==r.indexOf(M,j)&&(this.forward(),C=j,-1!==r.indexOf(M,j+this.current())&&(C=j+this.current(),this.forward())),C){case"(":D=d;break;case")":D=m;break;case"[":D=y;break;case"]":D=v;break;case"{":D=g;break;case"}":D=b;break;case",":D=w;break;case":":D=x;break;case"~":D=k;break;case"|":D=E;break;default:D=_}return P(D,C,e,n)}if((t=this._extractUntil(i+o)).match(/^[-+]?[0-9]+$/)){if("."===this.current()){this.forward();var F=this._extract("0123456789");return P(S,t+"."+F,e,n)}return P("int",t,e,n)}if(t.match(/^(true|false)$/))return P(T,t,e,n);if("none"===t)return P(A,t,e,n);if("null"===t)return P(A,t,e,n);if(t)return P(O,t,e,n);throw new Error("Unexpected value while parsing: "+t)}var B,z=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((t=this._extractString(this.tags.BLOCK_START+"-"))||(t=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,P(c,t,e,n);if((t=this._extractString(this.tags.VARIABLE_START+"-"))||(t=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,P(h,t,e,n);t="";var U=!1;for(this._matches(this.tags.COMMENT_START)&&(U=!0,t=this._extractString(this.tags.COMMENT_START));null!==(B=this._extractUntil(z));){if(t+=B,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!U){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=t.length){var V=t.slice(-this.colno);if(/^\s+$/.test(V)&&!(t=t.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!U)throw new Error("unexpected end of comment");t+=this._extractString(this.tags.COMMENT_END);break}t+=this.current(),this.forward()}if(null===B&&U)throw new Error("expected end of comment, got end of file");return P(U?p:u,t,e,n)},e._parseString=function(t){this.forward();for(var e="";!this.isFinished()&&this.current()!==t;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":e+="\n";break;case"t":e+="\t";break;case"r":e+="\r";break;default:e+=this.current()}this.forward()}else e+=n,this.forward()}return this.forward(),e},e._matches=function(t){return this.index+t.length>this.len?null:this.str.slice(this.index,this.index+t.length)===t},e._extractString=function(t){return this._matches(t)?(this.forwardN(t.length),t):null},e._extractUntil=function(t){return this._extractMatching(!0,t||"")},e._extract=function(t){return this._extractMatching(!1,t)},e._extractMatching=function(t,e){if(this.isFinished())return null;var n=e.indexOf(this.current());if(t&&-1===n||!t&&-1!==n){var r=this.current();this.forward();for(var i=e.indexOf(this.current());(t&&-1===i||!t&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=e.indexOf(this.current());return r}return""},e._extractRegex=function(t){var e=this.currentStr().match(t);return e?(this.forwardN(e[0].length),e):null},e.isFinished=function(){return this.index>=this.len},e.forwardN=function(t){for(var e=0;e1024){for(var e=0,n=i.length-o;e0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=a.length,s=u,console&&console.warn&&console.warn(s)}return t}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}function d(t,e,n){var r=t._events;if(void 0===r)return[];var i=r[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(a=e[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=i[t];if(void 0===u)return!1;if("function"==typeof u)o(u,this,e);else{var c=u.length,l=y(u,c);for(n=0;n=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){"use strict";var r=n(3),i=n(0),o=0;function a(){return"hole_"+o++}function s(t,e){for(var n=null,r=0;r=e)return t;var n=e-t.length,a=r.repeat(" ",n/2-n%2),s=r.repeat(" ",n/2);return i.copySafeness(t,a+t+s)},e.default=function(t,e,n){return n?t||e:void 0!==t?t:e},e.dictsort=function(t,e,n){if(!r.isObject(t))throw new r.TemplateError("dictsort filter: val must be an object");var i,o=[];for(var a in t)o.push([a,t[a]]);if(void 0===n||"key"===n)i=0;else{if("value"!==n)throw new r.TemplateError("dictsort filter: You can only sort by either key or value");i=1}return o.sort((function(t,n){var o=t[i],a=n[i];return e||(r.isString(o)&&(o=o.toUpperCase()),r.isString(a)&&(a=a.toUpperCase())),o>a?1:o===a?0:-1})),o},e.dump=function(t,e){return JSON.stringify(t,null,e)},e.escape=function(t){return t instanceof i.SafeString?t:(t=null==t?"":t,i.markSafe(r.escape(t.toString())))},e.safe=function(t){return t instanceof i.SafeString?t:(t=null==t?"":t,i.markSafe(t.toString()))},e.first=function(t){return t[0]},e.forceescape=function(t){return t=null==t?"":t,i.markSafe(r.escape(t.toString()))},e.groupby=function(t,e){return r.groupBy(t,e,this.env.opts.throwOnUndefined)},e.indent=function(t,e,n){if(""===(t=o(t,"")))return"";e=e||4;var a=t.split("\n"),s=r.repeat(" ",e),u=a.map((function(t,e){return 0!==e||n?""+s+t:t})).join("\n");return i.copySafeness(t,u)},e.join=function(t,e,n){return e=e||"",n&&(t=r.map(t,(function(t){return t[n]}))),t.join(e)},e.last=function(t){return t[t.length-1]},e.length=function(t){var e=o(t,"");return void 0!==e?"function"==typeof Map&&e instanceof Map||"function"==typeof Set&&e instanceof Set?e.size:!r.isObject(e)||e instanceof i.SafeString?e.length:r.keys(e).length:0},e.list=u,e.lower=function(t){return(t=o(t,"")).toLowerCase()},e.nl2br=function(t){return null==t?"":i.copySafeness(t,t.replace(/\r\n|\n/g,"
\n"))},e.random=function(t){return t[Math.floor(Math.random()*t.length)]},e.reject=c(!1),e.rejectattr=function(t,e){return t.filter((function(t){return!t[e]}))},e.select=c(!0),e.selectattr=function(t,e){return t.filter((function(t){return!!t[e]}))},e.replace=function(t,e,n,r){var o=t;if(e instanceof RegExp)return t.replace(e,n);void 0===r&&(r=-1);var a="";if("number"==typeof e)e=""+e;else if("string"!=typeof e)return t;if("number"==typeof t&&(t=""+t),"string"!=typeof t&&!(t instanceof i.SafeString))return t;if(""===e)return a=n+t.split("").join(n)+n,i.copySafeness(t,a);var s=t.indexOf(e);if(0===r||-1===s)return t;for(var u=0,c=0;s>-1&&(-1===r||c=i&&l.push(n),o.push(l)}return o},e.sum=function(t,e,n){return void 0===n&&(n=0),e&&(t=r.map(t,(function(t){return t[e]}))),n+t.reduce((function(t,e){return t+e}),0)},e.sort=i.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(t,e,n,i){var o=this,a=r.map(t,(function(t){return t})),s=r.getAttrGetter(i);return a.sort((function(t,a){var u=i?s(t):t,c=i?s(a):a;if(o.env.opts.throwOnUndefined&&i&&(void 0===u||void 0===c))throw new TypeError('sort: attribute "'+i+'" resolved to undefined');return!n&&r.isString(u)&&r.isString(c)&&(u=u.toLowerCase(),c=c.toLowerCase()),uc?e?-1:1:0})),a})),e.string=function(t){return i.copySafeness(t,t)},e.striptags=function(t,e){var n,r=l((t=o(t,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,""));return n=e?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),i.copySafeness(t,n)},e.title=function(t){var e=(t=o(t,"")).split(" ").map((function(t){return s(t)}));return i.copySafeness(t,e.join(" "))},e.trim=l,e.truncate=function(t,e,n,r){var a=t;if(e=e||255,(t=o(t,"")).length<=e)return t;if(n)t=t.substring(0,e);else{var s=t.lastIndexOf(" ",e);-1===s&&(s=e),t=t.substring(0,s)}return t+=null!=r?r:"...",i.copySafeness(a,t)},e.upper=function(t){return(t=o(t,"")).toUpperCase()},e.urlencode=function(t){var e=encodeURIComponent;return r.isString(t)?e(t):(r.isArray(t)?t:r._entries(t)).map((function(t){var n=t[0],r=t[1];return e(n)+"="+e(r)})).join("&")};var h=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,f=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,p=/^https?:\/\/.*$/,d=/^www\./,m=/\.(?:org|net|com)(?:\:|\/|$)/;e.urlize=function(t,e,n){a(e)&&(e=1/0);var r=!0===n?' rel="nofollow"':"";return t.split(/(\s+)/).filter((function(t){return t&&t.length})).map((function(t){var n=t.match(h),i=n?n[1]:t,o=i.substr(0,e);return p.test(i)?'"+o+"":d.test(i)?'"+o+"":f.test(i)?''+i+"":m.test(i)?'"+o+"":t})).join("")},e.wordcount=function(t){var e=(t=o(t,""))?t.match(/\w+/g):null;return e?e.length:null},e.float=function(t,e){var n=parseFloat(t);return a(n)?e:n};var y=i.makeMacro(["value","default","base"],[],(function(t,e,n){void 0===n&&(n=10);var r=parseInt(t,n);return a(r)?e:r}));e.int=y,e.d=e.default,e.e=e.escape},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=function(t){var e,n;function i(e){var n;return(n=t.call(this)||this).precompiled=e||{},n}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n),i.prototype.getSource=function(t){return this.precompiled[t]?{src:{type:"code",obj:this.precompiled[t]},path:t}:null},i}(n(6));t.exports={PrecompiledLoader:i}},function(t,e,n){"use strict";var r=n(2).SafeString;e.callable=function(t){return"function"==typeof t},e.defined=function(t){return void 0!==t},e.divisibleby=function(t,e){return t%e==0},e.escaped=function(t){return t instanceof r},e.equalto=function(t,e){return t===e},e.eq=e.equalto,e.sameas=e.equalto,e.even=function(t){return t%2==0},e.falsy=function(t){return!t},e.ge=function(t,e){return t>=e},e.greaterthan=function(t,e){return t>e},e.gt=e.greaterthan,e.le=function(t,e){return t<=e},e.lessthan=function(t,e){return t0)for(var i=t;ie;o+=n)r.push(o);return r},cycler:function(){return t=Array.prototype.slice.call(arguments),e=-1,{current:null,reset:function(){e=-1,this.current=null},next:function(){return++e>=t.length&&(e=0),this.current=t[e],this.current}};var t,e},joiner:function(t){return function(t){t=t||",";var e=!0;return function(){var n=e?"":t;return e=!1,n}}(t)}}}},function(t,e,n){var r=n(4);t.exports=function(t,e){function n(t,e){if(this.name=t,this.path=t,this.defaultEngine=e.defaultEngine,this.ext=r.extname(t),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=("."!==this.defaultEngine[0]?".":"")+this.defaultEngine)}return n.prototype.render=function(e,n){t.render(this.name,e,n)},e.set("view",n),e.set("nunjucksEnv",t),t}},function(t,e,n){"use strict";var r=n(4),i=n(4),o=n(0)._prettifyError,a=n(5),s=n(7).Environment,u=n(24);function c(t,e){return!!Array.isArray(e)&&e.some((function(e){return t.match(e)}))}function l(t,e){(e=e||{}).isString=!0;var n=e.env||new s([]),r=e.wrapper||u;if(!e.name)throw new Error('the "name" option is required when compiling a string');return r([h(t,e.name,n)],e)}function h(t,e,n){var r,i=(n=n||new s([])).asyncFilters,u=n.extensionsList;e=e.replace(/\\/g,"/");try{r=a.compile(t,i,u,e,n.opts)}catch(t){throw o(e,!1,t)}return{name:e,template:r}}t.exports={precompile:function(t,e){var n=(e=e||{}).env||new s([]),o=e.wrapper||u;if(e.isString)return l(t,e);var a=r.existsSync(t)&&r.statSync(t),f=[],p=[];if(a.isFile())f.push(h(r.readFileSync(t,"utf-8"),e.name||t,n));else if(a.isDirectory()){!function n(o){r.readdirSync(o).forEach((function(a){var s=i.join(o,a),u=s.substr(i.join(t,"/").length),l=r.statSync(s);l&&l.isDirectory()?c(u+="/",e.exclude)||n(s):c(u,e.include)&&p.push(s)}))}(t);for(var d=0;dt.length||i>0&&a>=r||i<0&&a<=r);a+=i)o.push(n.memberLookup(t,a));return o}function p(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var d={pop:function(t){if(void 0===t)return this.pop();if(t>=this.length||t<0)throw new Error("KeyError");return this.splice(t,1)},append:function(t){return this.push(t)},remove:function(t){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{name:null,value:null,type:null,definition:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.name,r=e.value,i=e.type,o=e.definition;this.name=n||null,this.value=null!=r?r:null,this.type=i||null,this.definition=o||null},n=[{key:"isVariable",get:function(){return!1}},{key:"hasError",value:function(){return null===this.definition?null===this.value||("array"===this.type.toLowerCase()?!Array.isArray(this.value):e(this.value)!==this.type.toLowerCase()):null!==this.value&&void 0!==this.value&&(this.__typeOfValueValidation()||this.__ruleValueValidation()||this.__ruleMinAndMaxValidation()||this.__ruleRegexValidation())}},{key:"__typeOfValueValidation",value:function(){var t=this.type.toLowerCase();return"Link"===this.definition.type?!Array.isArray(this.value)||this.value.some((function(t){return"string"!=typeof t})):"array"===t?!Array.isArray(this.value):e(this.value)!==t}},{key:"__ruleValueValidation",value:function(){var t=this;return this.definition.rules.values&&Array.isArray(this.value)?!this.value.every((function(e){return t.definition.rules.values.includes(e)})):this.definition.rules.values&&!this.definition.rules.values.includes(this.value)}},{key:"__ruleMinAndMaxValidation",value:function(){var t="number"==typeof this.value?this.value:this.value.length;return null!==this.definition.rules.min&&tthis.definition.rules.max}},{key:"__ruleRegexValidation",value:function(){return null!==this.definition.rules.regex&&!new RegExp(this.definition.rules.regex).test(this.value)}}],n&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{path:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.path;this.path=null!=n?n:null},(e=[{key:"fileName",get:function(){return this.path?this.path.replace(/^.*[\\/]/,""):null}}])&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{x:null,y:null,width:null,height:null,needsResizing:!1,needsPositioning:!1,manuallyResized:!1,layoutDirection:"UNDEFINED",hide:!1};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.x,r=e.y,i=e.width,o=e.height,a=e.needsResizing,s=e.needsPositioning,u=e.manuallyResized;e.hide,this.x=n||null,this.y=r||null,this.width=i||null,this.height=o||null,this.needsResizing=a||!1,this.needsPositioning=s||!1,this.manuallyResized=u||!1,this.layoutDirection=e.layoutDirection||"UNDEFINED",this.hide=e.hide||!1}));function H(t){return H="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},H(t)}function $(t){var e=function(t,e){if("object"!=H(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=H(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==H(e)?e:e+""}function W(t,e,n){return e=Y(e),function(t,e){if(e&&("object"===H(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,G()?Reflect.construct(e,n||[],Y(t).constructor):e.apply(t,n))}function G(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(G=function(){return!!t})()}function Y(t){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Y(t)}function Q(t,e){return Q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Q(t,e)}var X=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:null,externalId:null,name:null,definition:null,drawOption:null,attributes:[]};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),t=W(this,e,[n]);var r=n.id,i=n.externalId,o=n.name,a=n.definition,s=n.drawOption,u=n.attributes;return t.__class="Component",t.id=r||null,t.externalId=i||t.id,t.name=o||null,t.definition=a||null,t.drawOption=s||new K,t.attributes=u||[],t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Q(t,e)}(e,t),n=e,r=[{key:"setExternalId",value:function(t){this.externalId=t}},{key:"getConfigurationKey",value:function(){return this.id}},{key:"setReferenceAttribute",value:function(t){var e=this.definition.definedAttributes.find((function(e){return e.containerRef===t.definition.type}));if(e){var n=this.attributes.filter((function(t){var n=t.definition;return(null==n?void 0:n.name)===e.name}));n.length>0?n.forEach((function(e){e.value=t.id})):this.attributes.push(this.createAttribute({name:e.name,value:t.id,type:"String",definition:e}))}}},{key:"__createNestedAttributes",value:function(t){var e=this,n=this.attributes;return t.slice().reverse().forEach((function(t){var r=n.find((function(e){return e.definition.name===t.name}));r||(r=e.createAttribute({name:t.name,definition:t,type:"Object",value:[]}),n.push(r)),n=r.value})),n}},{key:"createAttribute",value:function(t){return new F(t)}},{key:"removeAllReferenceAttributes",value:function(t){this.attributes=t?this.attributes.filter((function(e){return!("Reference"===e.definition.type&&e.definition.containerRef===t.definition.type&&e.value===t.id)})):this.attributes.filter((function(t){return"Reference"!==t.definition.type}))}},{key:"setLinkAttribute",value:function(t){var e=[],n=this.__getLinkAttribute(e,this.definition.definedAttributes,t),r=this.__createNestedAttributes(e),i=r.find((function(t){return t.definition.name===n.name}));i||(i=this.createAttribute({name:n.name,definition:n,type:"Array",value:[]}),r.push(i)),i.value.includes(t.target)||i.value.push(t.target)}},{key:"__getLinkAttribute",value:function(t,e,n){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:null;this.__removeLinkAttribute(this.attributes,t,e)}},{key:"__removeLinkAttribute",value:function(t,e,n){var r=this;t.forEach((function(t){var i;if("Object"===t.type&&r.__removeLinkAttribute(t.value,e,n),"Link"===(null===(i=t.definition)||void 0===i?void 0:i.type)&&(!n||t.name===n)){var o=t.value.findIndex((function(t){return t===e}));o>=0&&t.value.splice(o,1)}}))}},{key:"getAttributeByName",value:function(t){return this.__getAttributeByName(this.attributes,t)}},{key:"__getAttributeByName",value:function(t,e){for(var n=0;n3?i-3:0),a=3;a2?n-2:0),i=2;i0&&void 0!==arguments[0]?arguments[0]:{type:null,icon:null,model:null,displayName:null,description:null,url:null,parentTypes:[],childrenTypes:[],definedAttributes:[],isContainer:!1,displayType:null,workflowDirection:null,linkModel:null,defaultWidth:0,defaultHeight:0,minWidth:0,minHeight:0,reservedWidth:0,reservedHeight:0,margin:10,gap:30};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.type,r=e.icon,i=e.model,o=e.displayName,a=e.description,s=e.url,u=e.parentTypes,c=e.childrenTypes,l=e.definedAttributes,h=e.isContainer,f=e.displayType,p=e.workflowDirection,d=e.linkModel,m=e.defaultWidth,y=e.defaultHeight,v=e.minWidth,g=e.minHeight,b=e.reservedWidth,_=e.reservedHeight,w=e.margin,x=e.gap;this.type=n||null,this.icon=r||null,this.model=i||null,this.defaultWidth=m||0,this.defaultHeight=y||0,this.minWidth=v||0,this.minHeight=g||0,this.reservedWidth=b||0,this.reservedHeight=_||0,this.margin=w||10,this.gap=x||30,this.displayName=o||null,this.description=a||null,this.url=s||null,this.parentTypes=u||[],this.childrenTypes=c||[],this.definedAttributes=l||[],this.isContainer=void 0!==h&&h,this.displayType=f||null,this.workflowDirection=p||null,this.linkModel=null!=d?d:null})),tt=J;function et(t){return et="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},et(t)}function nt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function rt(t,e,n){return(e=it(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function it(t){var e=function(t,e){if("object"!=et(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=et(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==et(e)?e:e+""}var ot=function(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:null,type:null,displayName:null,description:null,url:null,linkType:null,linkRef:[],linkModel:null,containerRef:null,required:!1,definedAttributes:[],rules:{values:null,min:null,max:null,regex:null}};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.name,r=e.type,i=e.displayName,o=e.description,a=e.url,s=e.linkType,u=e.linkRef,c=e.linkModel,l=e.containerRef,h=e.definedAttributes,f=e.required,p=e.rules;this.name=n||null,this.type=r||null,this.displayName=i||null,this.description=o||null,this.url=a||null,this.linkType=s||null,this.linkRef=u||[],this.linkModel=c||null,this.containerRef=l||null,this.definedAttributes=h||[],this.required=f||!1,this.rules=function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{source:null,target:null,name:null,definition:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),t=ut(this,e);var r=n.source,i=n.target,o=n.name,a=n.definition;return t.__class="Link",t.source=r||null,t.target=i||null,t.name=o||null,t.definition=a||null,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ht(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(q);var pt=function(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{attributeRef:null,sourceRef:null,targetRef:null,type:null,model:null,isTemporary:!1};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.attributeRef,r=e.sourceRef,i=e.targetRef,o=e.type,a=e.model,s=e.isTemporary;this.attributeRef=n||null,this.sourceRef=r||null,this.targetRef=i||null,this.type=o||null,this.model=a||null,this.isTemporary=s||!1})),dt=pt;function mt(t){return mt="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},mt(t)}function yt(t,e,n){return e=gt(e),function(t,e){if(e&&("object"===mt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,vt()?Reflect.construct(e,n||[],gt(t).constructor):e.apply(t,n))}function vt(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(vt=function(){return!!t})()}function gt(t){return gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},gt(t)}function bt(t,e){return bt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},bt(t,e)}var _t=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{path:null,name:null,content:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),t=yt(this,e,[n]);var r=n.content;return t.content=r||null,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&bt(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(q);function wt(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}function xt(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function kt(t){var e,n,r;function i(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(i>>1;n(t[a],r)<0?i=a+1:o=a}while(i2&&void 0!==arguments[2]?arguments[2]:0,o=i(t,e,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length)-1);return o>n&&r(t[o-1],e)>-r(t[o],e)?o-1:o},right:function(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length;if(i>>1;n(t[a],r)<=0?i=a+1:o=a}while(i=0))throw new RangeError("invalid r");var n=t.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!e)return t;var r=jt(e),i=t.slice();return r(t,i,0,n,1),r(i,t,0,n,1),r(t,i,0,n,1),t}var Lt=It(jt),Rt=It((function(t){var e=jt(t);return function(t,n,r,i,o){e(t,n,0+(r<<=2),0+(i<<=2),o<<=2),e(t,n,r+1,i+1,o),e(t,n,r+2,i+2,o),e(t,n,r+3,i+3,o)}}));function It(t){return function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");var i=e.data,o=e.width,a=e.height;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(void 0!==a?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!n&&!r)return e;var s=n&&t(n),u=r&&t(r),c=i.slice();return s&&u?(Dt(s,c,i,o,a),Dt(s,i,c,o,a),Dt(s,c,i,o,a),Mt(u,i,c,o,a),Mt(u,c,i,o,a),Mt(u,i,c,o,a)):s?(Dt(s,i,c,o,a),Dt(s,c,i,o,a),Dt(s,i,c,o,a)):u&&(Mt(u,i,c,o,a),Mt(u,c,i,o,a),Mt(u,i,c,o,a)),e}}function Dt(t,e,n,r,i){for(var o=0,a=r*i;o=i){for(var s=t*r[i],u=a*t,c=i,l=i+u;c=o){for(var u=e*i[o],c=s*e,l=c+s,h=o,f=o+c;h=o&&++n}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;null!=(c=e(c,++s,t))&&(c=+c)>=c&&++n}}catch(t){u.e(t)}finally{u.f()}}return n}function Bt(t){return 0|t.length}function zt(t){return!(t>0)}function Ut(t){return"object"!=z(t)||"length"in t?t:Array.from(t)}function Vt(){for(var t=arguments.length,e=new Array(t),n=0;n=u&&(o+=(n=u-i)*(u-(i+=n/++r)))}}catch(t){s.e(t)}finally{s.f()}}else{var c,l=-1,h=j(t);try{for(h.s();!(c=h.n()).done;){var f=c.value;null!=(f=e(f,++l,t))&&(f=+f)>=f&&(o+=(n=f-i)*(f-(i+=n/++r)))}}catch(t){h.e(t)}finally{h.f()}}if(r>1)return o/(r-1)}function Ht(t,e){var n=Kt(t,e);return n?Math.sqrt(n):n}function $t(t,e){var n,r;if(void 0===e){var i,o=j(t);try{for(o.s();!(i=o.n()).done;){var a=i.value;null!=a&&(void 0===n?a>=a&&(n=r=a):(n>a&&(n=a),r=l&&(n=r=l):(n>l&&(n=l),r0){for(o=r[--i];i>0&&(t=o,!(n=(e=r[--i])-((o=t+e)-t))););i>0&&(n<0&&r[i-1]<0||n>0&&r[i-1]>0)&&(e=2*n)==(t=o+e)-o&&(o=t)}return o}}])}();function Gt(t,e){var n=new Wt;if(void 0===e){var r,i=j(t);try{for(i.s();!(r=i.n()).done;){var o=r.value;(o=+o)&&n.add(o)}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;(c=+e(c,++s,t))&&n.add(c)}}catch(t){u.e(t)}finally{u.f()}}return+n}function Yt(t,e){var n=new Wt,r=-1;return Float64Array.from(t,void 0===e?function(t){return n.add(+t||0)}:function(i){return n.add(+e(i,++r,t)||0)})}var Qt=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;if(L(this,e),n=E(this,e),Object.defineProperties(S(n),{_intern:{value:new Map},_key:{value:r}}),null!=t){var i,o=j(t);try{for(o.s();!(i=o.n()).done;){var a=k(i.value,2),s=a[0],u=a[1];n.set(s,u)}}catch(t){o.e(t)}finally{o.f()}}return S(n)}return A(e,t),I(e,[{key:"get",value:function(t){return T(C(e.prototype),"get",this).call(this,Zt(this,t))}},{key:"has",value:function(t){return T(C(e.prototype),"has",this).call(this,Zt(this,t))}},{key:"set",value:function(t,n){return T(C(e.prototype),"set",this).call(this,Jt(this,t),n)}},{key:"delete",value:function(t){return T(C(e.prototype),"delete",this).call(this,te(this,t))}}])}(O(Map)),Xt=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ee;if(L(this,e),n=E(this,e),Object.defineProperties(S(n),{_intern:{value:new Map},_key:{value:r}}),null!=t){var i,o=j(t);try{for(o.s();!(i=o.n()).done;){var a=i.value;n.add(a)}}catch(t){o.e(t)}finally{o.f()}}return S(n)}return A(e,t),I(e,[{key:"has",value:function(t){return T(C(e.prototype),"has",this).call(this,Zt(this,t))}},{key:"add",value:function(t){return T(C(e.prototype),"add",this).call(this,Jt(this,t))}},{key:"delete",value:function(t){return T(C(e.prototype),"delete",this).call(this,te(this,t))}}])}(O(Set));function Zt(t,e){var n=t._intern,r=(0,t._key)(e);return n.has(r)?n.get(r):e}function Jt(t,e){var n=t._intern,r=(0,t._key)(e);return n.has(r)?n.get(r):(n.set(r,e),e)}function te(t,e){var n=t._intern,r=(0,t._key)(e);return n.has(r)&&(e=n.get(r),n.delete(r)),e}function ee(t){return null!==t&&"object"==z(t)?t.valueOf():t}function ne(t){return t}function re(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r1?e-1:0),r=1;r=r.length)return n(i);var a,s=new Qt,u=r[o++],c=-1,l=j(i);try{for(l.s();!(a=l.n()).done;){var h=a.value,f=u(h,++c,i),p=s.get(f);p?p.push(h):s.set(f,[h])}}catch(t){l.e(t)}finally{l.f()}var d,m=j(s);try{for(m.s();!(d=m.n()).done;){var y=k(d.value,2),v=y[0],g=y[1];s.set(v,t(g,o))}}catch(t){m.e(t)}finally{m.f()}return e(s)}(t,0)}function de(t,e){return Array.from(e,(function(e){return t[e]}))}function me(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1){var o=Uint32Array.from(t,(function(t,e){return e}));return n.length>1?(n=n.map((function(e){return t.map(e)})),o.sort((function(t,e){var r,i=j(n);try{for(i.s();!(r=i.n()).done;){var o=r.value,a=ve(o[t],o[e]);if(a)return a}}catch(t){i.e(t)}finally{i.f()}}))):(i=t.map(i),o.sort((function(t,e){return ve(i[t],i[e])}))),de(t,o)}return t.sort(ye(i))}function ye(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wt;if(t===wt)return ve;if("function"!=typeof t)throw new TypeError("compare is not a function");return function(e,n){var r=t(e,n);return r||0===r?r:(0===t(n,n))-(0===t(e,e))}}function ve(t,e){return(null==t||!(t>=t))-(null==e||!(e>=e))||(te?1:0)}function ge(t,e,n){return(2!==e.length?me(ue(t,e,n),(function(t,e){var n=k(t,2),r=n[0],i=n[1],o=k(e,2),a=o[0];return wt(i,o[1])||wt(r,a)})):me(re(t,n),(function(t,n){var r=k(t,2),i=r[0],o=r[1],a=k(n,2),s=a[0],u=a[1];return e(o,u)||wt(i,s)}))).map((function(t){return k(t,1)[0]}))}var be=Array.prototype,_e=be.slice;function we(t){return function(){return t}}be.map;var xe=Math.sqrt(50),ke=Math.sqrt(10),Ee=Math.sqrt(2);function Se(t,e,n){var r,i,o,a=(e-t)/Math.max(0,n),s=Math.floor(Math.log10(a)),u=a/Math.pow(10,s),c=u>=xe?10:u>=ke?5:u>=Ee?2:1;return s<0?(o=Math.pow(10,-s)/c,(r=Math.round(t*o))/oe&&--i,o=-o):(o=Math.pow(10,s)*c,(r=Math.round(t/o))*oe&&--i),i0))return[];if((t=+t)==(e=+e))return[t];var r=e=o))return[];var u=a-o+1,c=new Array(u);if(r)if(s<0)for(var l=0;l0?(t=Math.floor(t/i)*i,e=Math.ceil(e/i)*i):i<0&&(t=Math.ceil(t*i)/i,e=Math.floor(e*i)/i),r=i}}function Pe(t){return Math.max(1,Math.ceil(Math.log(Ft(t))/Math.LN2)+1)}function Ce(){var t=ne,e=$t,n=Pe;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a,s=r.length,u=new Array(s);for(i=0;i=h)if(d>=h&&e===$t){var y=Ae(l,h,m);isFinite(y)&&(y>0?h=(Math.floor(h/y)+1)*y:y<0&&(h=(Math.ceil(h*-y)+1)/-y))}else f.pop()}for(var v=f.length,g=0,b=v;f[g]<=l;)++g;for(;f[b-1]>h;)--b;(g||b0?f[i-1]:l,_.x1=i0)for(i=0;i=o)&&(n=o)}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;null!=(c=e(c,++s,t))&&(n=c)&&(n=c)}}catch(t){u.e(t)}finally{u.f()}}return n}function Re(t,e){var n,r=-1,i=-1;if(void 0===e){var o,a=j(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;++i,null!=s&&(n=s)&&(n=s,r=i)}}catch(t){a.e(t)}finally{a.f()}}else{var u,c=j(t);try{for(c.s();!(u=c.n()).done;){var l=u.value;null!=(l=e(l,++i,t))&&(n=l)&&(n=l,r=i)}}catch(t){c.e(t)}finally{c.f()}}return r}function Ie(t,e){var n;if(void 0===e){var r,i=j(t);try{for(i.s();!(r=i.n()).done;){var o=r.value;null!=o&&(n>o||void 0===n&&o>=o)&&(n=o)}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;null!=(c=e(c,++s,t))&&(n>c||void 0===n&&c>=c)&&(n=c)}}catch(t){u.e(t)}finally{u.f()}}return n}function De(t,e){var n,r=-1,i=-1;if(void 0===e){var o,a=j(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;++i,null!=s&&(n>s||void 0===n&&s>=s)&&(n=s,r=i)}}catch(t){a.e(t)}finally{a.f()}}else{var u,c=j(t);try{for(c.s();!(u=c.n()).done;){var l=u.value;null!=(l=e(l,++i,t))&&(n>l||void 0===n&&l>=l)&&(n=l,r=i)}}catch(t){c.e(t)}finally{c.f()}}return r}function Me(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=arguments.length>4?arguments[4]:void 0;if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=void 0===i?ve:ye(i);r>n;){if(r-n>600){var o=r-n+1,a=e-n+1,s=Math.log(o),u=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*u*(o-u)/o)*(a-o/2<0?-1:1);Me(t,e,Math.max(n,Math.floor(e-a*u/o+c)),Math.min(r,Math.floor(e+(o-a)*u/o+c)),i)}var l=t[e],h=n,f=r;for(je(t,n,e),i(t[r],l)>0&&je(t,n,r);h0;)--f}0===i(t[n],l)?je(t,n,f):je(t,++f,r),f<=e&&(n=f+1),e<=f&&(r=f-1)}return t}function je(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function Fe(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wt,r=!1;if(1===n.length){var i,o,a=j(t);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=n(s);(r?wt(u,i)>0:0===wt(u,u))&&(e=s,i=u,r=!0)}}catch(t){a.e(t)}finally{a.f()}}else{var c,l=j(t);try{for(l.s();!(c=l.n()).done;){var h=c.value;(r?n(h,e)>0:0===n(h,h))&&(e=h,r=!0)}}catch(t){l.e(t)}finally{l.f()}}return e}function Be(t,e,n){if(t=Float64Array.from(x().mark((function t(e,n){var r,i,o,a,s,u,c;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==n){t.next=22;break}r=j(e),t.prev=2,r.s();case 4:if((i=r.n()).done){t.next=12;break}if(o=i.value,t.t0=null!=o&&(o=+o)>=o,!t.t0){t.next=10;break}return t.next=10,o;case 10:t.next=4;break;case 12:t.next=17;break;case 14:t.prev=14,t.t1=t.catch(2),r.e(t.t1);case 17:return t.prev=17,r.f(),t.finish(17);case 20:t.next=42;break;case 22:a=-1,s=j(e),t.prev=24,s.s();case 26:if((u=s.n()).done){t.next=34;break}if(c=u.value,t.t2=null!=(c=n(c,++a,e))&&(c=+c)>=c,!t.t2){t.next=32;break}return t.next=32,c;case 32:t.next=26;break;case 34:t.next=39;break;case 36:t.prev=36,t.t3=t.catch(24),s.e(t.t3);case 39:return t.prev=39,s.f(),t.finish(39);case 42:case"end":return t.stop()}}),t,null,[[2,14,17,20],[24,36,39,42]])}))(t,n)),(r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return Ie(t);if(e>=1)return Le(t);var r,i=(r-1)*e,o=Math.floor(i),a=Le(Me(t,o).subarray(0,o+1));return a+(Ie(t.subarray(o+1))-a)*(i-o)}}function ze(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:St;if((r=t.length)&&!isNaN(e=+e)){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(i-o)}}function Ue(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:St;if(!isNaN(e=+e)){if(r=Float64Array.from(t,(function(e,r){return St(n(t[r],r,t))})),e<=0)return De(r);if(e>=1)return Re(r);var r,i=Uint32Array.from(t,(function(t,e){return e})),o=r.length-1,a=Math.floor(o*e);return Me(i,a,0,o,(function(t,e){return ve(r[t],r[e])})),(a=Fe(i.subarray(0,a+1),(function(t){return r[t]})))>=0?a:-1}}function Ve(t,e,n){var r=Ft(t),i=Be(t,.75)-Be(t,.25);return r&&i?Math.ceil((n-e)/(2*i*Math.pow(r,-1/3))):1}function qe(t,e,n){var r=Ft(t),i=Ht(t);return r&&i?Math.ceil((n-e)*Math.cbrt(r)/(3.49*i)):1}function Ke(t,e){var n=0,r=0;if(void 0===e){var i,o=j(t);try{for(o.s();!(i=o.n()).done;){var a=i.value;null!=a&&(a=+a)>=a&&(++n,r+=a)}}catch(t){o.e(t)}finally{o.f()}}else{var s,u=-1,c=j(t);try{for(c.s();!(s=c.n()).done;){var l=s.value;null!=(l=e(l,++u,t))&&(l=+l)>=l&&(++n,r+=l)}}catch(t){c.e(t)}finally{c.f()}}if(n)return r/n}function He(t,e){return Be(t,.5,e)}function $e(t,e){return Ue(t,.5,e)}function We(t){return Array.from(x().mark((function t(e){var n,r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=j(e),t.prev=1,n.s();case 3:if((r=n.n()).done){t.next=8;break}return i=r.value,t.delegateYield(i,"t0",6);case 6:t.next=3;break;case 8:t.next=13;break;case 10:t.prev=10,t.t1=t.catch(1),n.e(t.t1);case 13:return t.prev=13,n.f(),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[1,10,13,16]])}))(t))}function Ge(t,e){var n=new Qt;if(void 0===e){var r,i=j(t);try{for(i.s();!(r=i.n()).done;){var o=r.value;null!=o&&o>=o&&n.set(o,(n.get(o)||0)+1)}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;null!=(c=e(c,++s,t))&&c>=c&&n.set(c,(n.get(c)||0)+1)}}catch(t){u.e(t)}finally{u.f()}}var l,h,f=0,p=j(n);try{for(p.s();!(h=p.n()).done;){var d=k(h.value,2),m=d[0],y=d[1];y>f&&(f=y,l=m)}}catch(t){p.e(t)}finally{p.f()}return l}function Ye(t){var e,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qe,i=[],o=!1,a=j(t);try{for(a.s();!(n=a.n()).done;){var s=n.value;o&&i.push(r(e,s)),e=s,o=!0}}catch(t){a.e(t)}finally{a.f()}return i}function Qe(t,e){return[t,e]}function Xe(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r1&&void 0!==arguments[1]?arguments[1]:wt;if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");var n=Array.from(t),r=new Float64Array(n.length);2!==e.length&&(n=n.map(e),e=wt);var i,o,a=function(t,r){return e(n[t],n[r])};return t=Uint32Array.from(n,(function(t,e){return e})),t.sort(e===wt?function(t,e){return ve(n[t],n[e])}:ye(a)),t.forEach((function(t,e){var n=a(t,void 0===i?t:i);n>=0?((void 0===i||n>0)&&(i=t,o=e),r[t]=o):r[t]=NaN})),r}function Je(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wt,r=!1;if(1===n.length){var i,o,a=j(t);try{for(a.s();!(o=a.n()).done;){var s=o.value,u=n(s);(r?wt(u,i)<0:0===wt(u,u))&&(e=s,i=u,r=!0)}}catch(t){a.e(t)}finally{a.f()}}else{var c,l=j(t);try{for(l.s();!(c=l.n()).done;){var h=c.value;(r?n(h,e)<0:0===n(h,h))&&(e=h,r=!0)}}catch(t){l.e(t)}finally{l.f()}}return e}function tn(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wt;if(1===e.length)return De(t,e);var n,r,i=-1,o=-1,a=j(t);try{for(a.s();!(r=a.n()).done;){var s=r.value;++o,(i<0?0===e(s,s):e(s,n)<0)&&(n=s,i=o)}}catch(t){a.e(t)}finally{a.f()}return i}function en(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:wt;if(1===e.length)return Re(t,e);var n,r,i=-1,o=-1,a=j(t);try{for(a.s();!(r=a.n()).done;){var s=r.value;++o,(i<0?0===e(s,s):e(s,n)>0)&&(n=s,i=o)}}catch(t){a.e(t)}finally{a.f()}return i}function nn(t,e){var n=tn(t,e);return n<0?void 0:n}var rn=on(Math.random);function on(t){return function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length)-(n=+n);r;){var i=t()*r--|0,o=e[r+n];e[r+n]=e[i+n],e[i+n]=o}return e}}function an(t,e){var n=0;if(void 0===e){var r,i=j(t);try{for(i.s();!(r=i.n()).done;){var o=r.value;(o=+o)&&(n+=o)}}catch(t){i.e(t)}finally{i.f()}}else{var a,s=-1,u=j(t);try{for(u.s();!(a=u.n()).done;){var c=a.value;(c=+e(c,++s,t))&&(n+=c)}}catch(t){u.e(t)}finally{u.f()}}return n}function sn(t){if(!(i=t.length))return[];for(var e=-1,n=Ie(t,un),r=new Array(n);++e1?e-1:0),r=1;r1?e-1:0),r=1;r1?0:.5,c=t===Sn||t===On?-1:1,l=t===On||t===Tn?"x":"y",h=t===Sn||t===An?Pn:Cn;function f(f){var p=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,d=null==i?e.tickFormat?e.tickFormat.apply(e,n):En:i,m=Math.max(o,0)+s,y=e.range(),v=+y[0]+u,g=+y[y.length-1]+u,b=(e.bandwidth?Rn:Ln)(e.copy(),u),_=f.selection?f.selection():f,w=_.selectAll(".domain").data([null]),x=_.selectAll(".tick").data(p,e).order(),k=x.exit(),E=x.enter().append("g").attr("class","tick"),S=x.select("line"),T=x.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),x=x.merge(E),S=S.merge(E.append("line").attr("stroke","currentColor").attr(l+"2",c*o)),T=T.merge(E.append("text").attr("fill","currentColor").attr(l,c*m).attr("dy",t===Sn?"0em":t===An?"0.71em":"0.32em")),f!==_&&(w=w.transition(f),x=x.transition(f),S=S.transition(f),T=T.transition(f),k=k.transition(f).attr("opacity",Nn).attr("transform",(function(t){return isFinite(t=b(t))?h(t+u):this.getAttribute("transform")})),E.attr("opacity",Nn).attr("transform",(function(t){var e=this.parentNode.__axis;return h((e&&isFinite(e=e(t))?e:b(t))+u)}))),k.remove(),w.attr("d",t===On||t===Tn?a?"M"+c*a+","+v+"H"+u+"V"+g+"H"+c*a:"M"+u+","+v+"V"+g:a?"M"+v+","+c*a+"V"+u+"H"+g+"V"+c*a:"M"+v+","+u+"H"+g),x.attr("opacity",1).attr("transform",(function(t){return h(b(t)+u)})),S.attr(l+"2",c*o),T.attr(l,c*m).text(d),_.filter(In).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Tn?"start":t===On?"end":"middle"),_.each((function(){this.__axis=b}))}return f.scale=function(t){return arguments.length?(e=t,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),f):n.slice()},f.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),f):r&&r.slice()},f.tickFormat=function(t){return arguments.length?(i=t,f):i},f.tickSize=function(t){return arguments.length?(o=a=+t,f):o},f.tickSizeInner=function(t){return arguments.length?(o=+t,f):o},f.tickSizeOuter=function(t){return arguments.length?(a=+t,f):a},f.tickPadding=function(t){return arguments.length?(s=+t,f):s},f.offset=function(t){return arguments.length?(u=+t,f):u},f}function Mn(t){return Dn(Sn,t)}function jn(t){return Dn(Tn,t)}function Fn(t){return Dn(An,t)}function Bn(t){return Dn(On,t)}var zn={value:function(){}};function Un(){for(var t,e=0,n=arguments.length,r={};e=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),a=-1,s=o.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a0)for(var n,r,i=new Array(n),o=0;oe?1:t>=e?0:NaN}ir.prototype={constructor:ir,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var lr="http://www.w3.org/1999/xhtml",hr={svg:"http://www.w3.org/2000/svg",xhtml:lr,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function fr(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),hr.hasOwnProperty(e)?{space:hr[e],local:t}:t}function pr(t){return function(){this.removeAttribute(t)}}function dr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function mr(t,e){return function(){this.setAttribute(t,e)}}function yr(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function vr(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function gr(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function br(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function _r(t){return function(){this.style.removeProperty(t)}}function wr(t,e,n){return function(){this.style.setProperty(t,e,n)}}function xr(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function kr(t,e){return t.style.getPropertyValue(e)||br(t).getComputedStyle(t,null).getPropertyValue(e)}function Er(t){return function(){delete this[t]}}function Sr(t,e){return function(){this[t]=e}}function Tr(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Ar(t){return t.trim().split(/^|\s+/)}function Or(t){return t.classList||new Nr(t)}function Nr(t){this._node=t,this._names=Ar(t.getAttribute("class")||"")}function Pr(t,e){for(var n=Or(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ei=[null];function ni(t,e){this._groups=t,this._parents=e}function ri(){return new ni([[document.documentElement]],ei)}ni.prototype=ri.prototype=w({constructor:ni,select:function(t){"function"!=typeof t&&(t=Wn(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=w&&(w=_+1);!(b=v[w])&&++w=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=cr);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o1?this.each((null==e?_r:"function"==typeof e?xr:wr)(t,e,null==n?"":n)):kr(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Er:"function"==typeof e?Tr:Sr)(t,e)):this.node()[t]},classed:function(t,e){var n=Ar(t+"");if(arguments.length<2){for(var r=Or(this.node()),i=-1,o=n.length;++i=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),a=o.length;if(!(arguments.length<2)){for(s=e?Xr:Qr,r=0;r>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Li(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Li(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=wi.exec(t))?new Di(e[1],e[2],e[3],1):(e=xi.exec(t))?new Di(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ki.exec(t))?Li(e[1],e[2],e[3],e[4]):(e=Ei.exec(t))?Li(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Si.exec(t))?Ui(e[1],e[2]/100,e[3]/100,1):(e=Ti.exec(t))?Ui(e[1],e[2]/100,e[3]/100,e[4]):Ai.hasOwnProperty(t)?Ci(Ai[t]):"transparent"===t?new Di(NaN,NaN,NaN,0):null}function Ci(t){return new Di(t>>16&255,t>>8&255,255&t,1)}function Li(t,e,n,r){return r<=0&&(t=e=n=NaN),new Di(t,e,n,r)}function Ri(t){return t instanceof di||(t=Pi(t)),t?new Di((t=t.rgb()).r,t.g,t.b,t.opacity):new Di}function Ii(t,e,n,r){return 1===arguments.length?Ri(t):new Di(t,e,n,null==r?1:r)}function Di(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Mi(){return"#".concat(zi(this.r)).concat(zi(this.g)).concat(zi(this.b))}function ji(){var t=Fi(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(Bi(this.r),", ").concat(Bi(this.g),", ").concat(Bi(this.b)).concat(1===t?")":", ".concat(t,")"))}function Fi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Bi(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function zi(t){return((t=Bi(t))<16?"0":"")+t.toString(16)}function Ui(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ki(t,e,n,r)}function Vi(t){if(t instanceof Ki)return new Ki(t.h,t.s,t.l,t.opacity);if(t instanceof di||(t=Pi(t)),!t)return new Ki;if(t instanceof Ki)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=e===o?(n-r)/s+6*(n0&&u<1?0:a,new Ki(a,s,u,t.opacity)}function qi(t,e,n,r){return 1===arguments.length?Vi(t):new Ki(t,e,n,null==r?1:r)}function Ki(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Hi(t){return(t=(t||0)%360)<0?t+360:t}function $i(t){return Math.max(0,Math.min(1,t||0))}function Wi(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function Gi(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}function Yi(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r=240?t-240:t+120,i,r),Wi(t,i,r),Wi(t<120?t+240:t-120,i,r),this.opacity)},clamp:function(){return new Ki(Hi(this.h),$i(this.s),$i(this.l),Fi(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=Fi(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(Hi(this.h),", ").concat(100*$i(this.s),"%, ").concat(100*$i(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var Xi=function(t){return function(){return t}};function Zi(t,e){return function(n){return t+n*e}}function Ji(t,e){var n=e-t;return n?Zi(t,n>180||n<-180?n-360*Math.round(n/360):n):Xi(isNaN(t)?e:t)}function to(t,e){var n=e-t;return n?Zi(t,n):Xi(isNaN(t)?e:t)}var eo=function t(e){var n=function(t){return 1==(t=+t)?to:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Xi(isNaN(e)?n:e)}}(e);function r(t,e){var r=n((t=Ii(t)).r,(e=Ii(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),a=to(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function no(t){return function(e){var n,r,i=e.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=e.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:lo(n,r)})),o=po.lastIndex;return o=0&&e._call.call(void 0,t),e=e._next;--wo}function Do(){To=(So=Oo.now())+Ao,wo=xo=0;try{Io()}finally{wo=0,function(){for(var t,e,n=bo,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:bo=e);_o=t,jo(r)}(),To=0}}function Mo(){var t=Oo.now(),e=t-So;e>Eo&&(Ao-=e,So=t)}function jo(t){wo||(xo&&(xo=clearTimeout(xo)),t-To>24?(t<1/0&&(xo=setTimeout(Do,t-Oo.now()-Ao)),ko&&(ko=clearInterval(ko))):(ko||(So=Oo.now(),ko=setInterval(Mo,Eo)),wo=1,No(Do)))}function Fo(t,e,n){var r=new Lo;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r}Lo.prototype=Ro.prototype={constructor:Lo,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Po():+n)+(null==e?0:+e),this._next||_o===this||(_o?_o._next=this:bo=this,_o=this),this._call=t,this._time=n,jo()},stop:function(){this._call&&(this._call=null,this._time=1/0,jo())}};var Bo=Hn("start","end","cancel","interrupt"),zo=[],Uo=0,Vo=1,qo=2,Ko=3,Ho=5,$o=6;function Wo(t,e,n,r,i,o){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(u){var c,l,h,f;if(n.state!==Vo)return s();for(c in i)if((f=i[c]).name===n.name){if(f.state===Ko)return Fo(o);4===f.state?(f.state=$o,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+cUo)throw new Error("too late; already scheduled");return n}function Yo(t,e){var n=Qo(t,e);if(n.state>Ko)throw new Error("too late; already running");return n}function Qo(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Xo(t,e){var n,r,i,o=t.__transition,a=!0;if(o){for(i in e=null==e?null:e+"",o)(n=o[i]).name===e?(r=n.state>qo&&n.state180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:lo(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,a.rotate,s,u),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:lo(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,a.skewX,s,u),function(t,e,n,r,o,a){if(t!==n||e!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:lo(t,n)},{i:s-2,x:lo(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,u),o=a=null,function(t){for(var e,n=-1,r=u.length;++n=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Go:Yo;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}(n,t,e))},attr:function(t,e){var n=fr(t),r="transform"===n?ia:ua;return this.attrTween(t,"function"==typeof e?(n.local?da:pa)(n,r,sa(this,"attr."+t,e)):null==e?(n.local?la:ca)(n):(n.local?fa:ha)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=fr(t);return this.tween(n,(r.local?ma:ya)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?ra:ua;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var o=kr(this,t),a=(this.style.removeProperty(t),kr(this,t));return o===a?null:o===n&&a===r?i:i=e(n=o,r=a)}}(t,r)).on("end.style."+t,xa(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,o;return function(){var a=kr(this,t),s=n(this),u=s+"";return null==s&&(this.style.removeProperty(t),u=s=kr(this,t)),a===u?null:a===r&&u===i?o:(i=u,o=e(r=a,s))}}(t,r,sa(this,"style."+t,e))).each(function(t,e){var n,r,i,o,a="style."+e,s="end."+a;return function(){var u=Yo(this,t),c=u.on,l=null==u.value[a]?o||(o=xa(e)):void 0;c===n&&i===l||(r=(n=c).copy()).on(s,i=l),u.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,o=n+"";return function(){var a=kr(this,t);return a===o?null:a===r?i:i=e(r=a,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}(t,o,n)),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(sa(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){return function(e){this.textContent=t.call(this,e)}}(r)),e}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=Qo(this.node(),n).tween,o=0,a=i.length;oVo&&n.name===e)return new Ea([[t]],Ra,e,+r);return null}var Da=function(t){return function(){return t}};function Ma(t,e){var n=e.sourceEvent,r=e.target,i=e.selection,o=e.mode,a=e.dispatch;Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},selection:{value:i,enumerable:!0,configurable:!0},mode:{value:o,enumerable:!0,configurable:!0},_:{value:a}})}function ja(t){t.preventDefault(),t.stopImmediatePropagation()}var Fa={name:"drag"},Ba={name:"space"},za={name:"handle"},Ua={name:"center"},Va=Math.abs,qa=Math.max,Ka=Math.min;function Ha(t){return[+t[0],+t[1]]}function $a(t){return[Ha(t[0]),Ha(t[1])]}var Wa={name:"x",handles:["w","e"].map(es),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Ga={name:"y",handles:["n","s"].map(es),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Ya={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(es),input:function(t){return null==t?null:$a(t)},output:function(t){return t}},Qa={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Xa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Za={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Ja={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ts={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function es(t){return{type:t}}function ns(t){return!t.ctrlKey&&!t.button}function rs(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function is(){return navigator.maxTouchPoints||"ontouchstart"in this}function os(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function as(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function ss(){return ls(Wa)}function us(){return ls(Ga)}function cs(){return ls(Ya)}function ls(t){var e,n=rs,r=ns,i=is,o=!0,a=Hn("start","brush","end"),s=6;function u(e){var n=e.property("__brush",m).selectAll(".overlay").data([es("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Qa.overlay).merge(n).each((function(){var t=os(this).extent;oi(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),e.selectAll(".selection").data([es("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Qa.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return Qa[t.type]})),e.each(c).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function c(){var t=oi(this),e=os(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?e[1][0]-s/2:e[0][0]-s/2})).attr("y",(function(t){return"s"===t.type[0]?e[1][1]-s/2:e[0][1]-s/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+s:s})).attr("height",(function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+s:s}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(t,e,n){var r=t.__brush.emitter;return!r||n&&r.clean?new h(t,e,n):r}function h(t,e,n){this.that=t,this.args=e,this.state=t.__brush,this.active=0,this.clean=n}function f(n){if((!e||n.touches)&&r.apply(this,arguments)){var i,a,s,u,h,f,p,d,m,y,v,g=this,b=n.target.__data__.type,_="selection"===(o&&n.metaKey?b="overlay":b)?Fa:o&&n.altKey?Ua:za,w=t===Ga?null:Ja[b],x=t===Wa?null:ts[b],k=os(g),E=k.extent,S=k.selection,T=E[0][0],A=E[0][1],O=E[1][0],N=E[1][1],P=0,C=0,L=w&&x&&o&&n.shiftKey,R=Array.from(n.touches||[n],(function(t){var e=t.identifier;return(t=go(t,g)).point0=t.slice(),t.identifier=e,t}));Xo(g);var I=l(g,arguments,!0).beforestart();if("overlay"===b){S&&(m=!0);var D=[R[0],R[1]||R[0]];k.selection=S=[[i=t===Ga?T:Ka(D[0][0],D[1][0]),s=t===Wa?A:Ka(D[0][1],D[1][1])],[h=t===Ga?O:qa(D[0][0],D[1][0]),p=t===Wa?N:qa(D[0][1],D[1][1])]],R.length>1&&U(n)}else i=S[0][0],s=S[0][1],h=S[1][0],p=S[1][1];a=i,u=s,f=h,d=p;var M=oi(g).attr("pointer-events","none"),F=M.selectAll(".overlay").attr("cursor",Qa[b]);if(n.touches)I.moved=z,I.ended=V;else{var B=oi(n.view).on("mousemove.brush",z,!0).on("mouseup.brush",V,!0);o&&B.on("keydown.brush",(function(t){switch(t.keyCode){case 16:L=w&&x;break;case 18:_===za&&(w&&(h=f-P*w,i=a+P*w),x&&(p=d-C*x,s=u+C*x),_=Ua,U(t));break;case 32:_!==za&&_!==Ua||(w<0?h=f-P:w>0&&(i=a-P),x<0?p=d-C:x>0&&(s=u-C),_=Ba,F.attr("cursor",Qa.selection),U(t));break;default:return}ja(t)}),!0).on("keyup.brush",(function(t){switch(t.keyCode){case 16:L&&(y=v=L=!1,U(t));break;case 18:_===Ua&&(w<0?h=f:w>0&&(i=a),x<0?p=d:x>0&&(s=u),_=za,U(t));break;case 32:_===Ba&&(t.altKey?(w&&(h=f-P*w,i=a+P*w),x&&(p=d-C*x,s=u+C*x),_=Ua):(w<0?h=f:w>0&&(i=a),x<0?p=d:x>0&&(s=u),_=za),F.attr("cursor",Qa[b]),U(t));break;default:return}ja(t)}),!0),li(n.view)}c.call(g),I.start(n,_.name)}function z(t){var e,n=j(t.changedTouches||[t]);try{for(n.s();!(e=n.n()).done;){var r,i=e.value,o=j(R);try{for(o.s();!(r=o.n()).done;){var a=r.value;a.identifier===i.identifier&&(a.cur=go(i,g))}}catch(t){o.e(t)}finally{o.f()}}}catch(t){n.e(t)}finally{n.f()}if(L&&!y&&!v&&1===R.length){var s=R[0];Va(s.cur[0]-s[0])>Va(s.cur[1]-s[1])?v=!0:y=!0}var u,c=j(R);try{for(c.s();!(u=c.n()).done;){var l=u.value;l.cur&&(l[0]=l.cur[0],l[1]=l.cur[1])}}catch(t){c.e(t)}finally{c.f()}m=!0,ja(t),U(t)}function U(t){var e,n=R[0],r=n.point0;switch(P=n[0]-r[0],C=n[1]-r[1],_){case Ba:case Fa:w&&(P=qa(T-i,Ka(O-h,P)),a=i+P,f=h+P),x&&(C=qa(A-s,Ka(N-p,C)),u=s+C,d=p+C);break;case za:R[1]?(w&&(a=qa(T,Ka(O,R[0][0])),f=qa(T,Ka(O,R[1][0])),w=1),x&&(u=qa(A,Ka(N,R[0][1])),d=qa(A,Ka(N,R[1][1])),x=1)):(w<0?(P=qa(T-i,Ka(O-i,P)),a=i+P,f=h):w>0&&(P=qa(T-h,Ka(O-h,P)),a=i,f=h+P),x<0?(C=qa(A-s,Ka(N-s,C)),u=s+C,d=p):x>0&&(C=qa(A-p,Ka(N-p,C)),u=s,d=p+C));break;case Ua:w&&(a=qa(T,Ka(O,i-P*w)),f=qa(T,Ka(O,h+P*w))),x&&(u=qa(A,Ka(N,s-C*x)),d=qa(A,Ka(N,p+C*x)))}f=0))throw new Error("invalid digits: ".concat(t));if(e>15)return Os;var n=Math.pow(10,e);return function(t){this._+=t[0];for(var e=1,r=t.length;eTs)if(Math.abs(d*h-f*p)>Ts&&i){var y=n-o,v=r-a,g=h*h+f*f,b=y*y+v*v,w=Math.sqrt(g),x=Math.sqrt(m),k=i*Math.tan((Es-Math.acos((g+m-b)/(2*w*x)))/2),E=k/x,S=k/w;Math.abs(E-1)>Ts&&this._append(u||(u=_(["L",",",""])),t+E*p,e+E*d),this._append(c||(c=_(["A",",",",0,0,",",",",",""])),i,i,+(d*y>p*v),this._x1=t+S*h,this._y1=e+S*f)}else this._append(l||(l=_(["L",",",""])),this._x1=t,this._y1=e)}},{key:"arc",value:function(t,e,n,r,i,o){if(t=+t,e=+e,o=!!o,(n=+n)<0)throw new Error("negative radius: ".concat(n));var a=n*Math.cos(r),s=n*Math.sin(r),u=t+a,c=e+s,l=1^o,m=o?r-i:i-r;null===this._x1?this._append(h||(h=_(["M",",",""])),u,c):(Math.abs(this._x1-u)>Ts||Math.abs(this._y1-c)>Ts)&&this._append(f||(f=_(["L",",",""])),u,c),n&&(m<0&&(m=m%Ss+Ss),m>As?this._append(p||(p=_(["A",",",",0,1,",",",",","A",",",",0,1,",",",",",""])),n,n,l,t-a,e-s,n,n,l,this._x1=u,this._y1=c):m>Ts&&this._append(d||(d=_(["A",",",",0,",",",",",",",""])),n,n,+(m>=Es),l,this._x1=t+n*Math.cos(i),this._y1=e+n*Math.sin(i)))}},{key:"rect",value:function(t,e,n,r){this._append(m||(m=_(["M",",","h","v","h","Z"])),this._x0=this._x1=+t,this._y0=this._y1=+e,n=+n,+r,-n)}},{key:"toString",value:function(){return this._}}])}();function Ps(){return new Ns}function Cs(){return new Ns(+(arguments.length>0&&void 0!==arguments[0]?arguments[0]:3))}Ps.prototype=Ns.prototype;var Ls=Array.prototype.slice;function Rs(t){return function(){return t}}function Is(t){return t.source}function Ds(t){return t.target}function Ms(t){return t.radius}function js(t){return t.startAngle}function Fs(t){return t.endAngle}function Bs(){return 0}function zs(){return 10}function Us(t){var e=Is,n=Ds,r=Ms,i=Ms,o=js,a=Fs,s=Bs,u=null;function c(){var c,l=e.apply(this,arguments),h=n.apply(this,arguments),f=s.apply(this,arguments)/2,p=Ls.call(arguments),d=+r.apply(this,(p[0]=l,p)),m=o.apply(this,p)-ms,y=a.apply(this,p)-ms,v=+i.apply(this,(p[0]=h,p)),g=o.apply(this,p)-ms,b=a.apply(this,p)-ms;if(u||(u=c=Ps()),f>gs&&(hs(y-m)>2*f+gs?y>m?(m+=f,y-=f):(m-=f,y+=f):m=y=(m+y)/2,hs(b-g)>2*f+gs?b>g?(g+=f,b-=f):(g-=f,b+=f):g=b=(g+b)/2),u.moveTo(d*fs(m),d*ps(m)),u.arc(0,0,d,m,y),m!==g||y!==b)if(t){var _=v-+t.apply(this,arguments),w=(g+b)/2;u.quadraticCurveTo(0,0,_*fs(g),_*ps(g)),u.lineTo(v*fs(w),v*ps(w)),u.lineTo(_*fs(b),_*ps(b))}else u.quadraticCurveTo(0,0,v*fs(g),v*ps(g)),u.arc(0,0,v,g,b);if(u.quadraticCurveTo(0,0,d*fs(m),d*ps(m)),u.closePath(),c)return u=null,c+""||null}return t&&(c.headRadius=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),c):t}),c.radius=function(t){return arguments.length?(r=i="function"==typeof t?t:Rs(+t),c):r},c.sourceRadius=function(t){return arguments.length?(r="function"==typeof t?t:Rs(+t),c):r},c.targetRadius=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),c):i},c.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),c):o},c.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Rs(+t),c):a},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:Rs(+t),c):s},c.source=function(t){return arguments.length?(e=t,c):e},c.target=function(t){return arguments.length?(n=t,c):n},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}function Vs(){return Us()}function qs(){return Us(zs)}var Ks=Math.PI/180,Hs=180/Math.PI,$s=.96422,Ws=1,Gs=.82521,Ys=4/29,Qs=6/29,Xs=3*Qs*Qs,Zs=Qs*Qs*Qs;function Js(t){if(t instanceof nu)return new nu(t.l,t.a,t.b,t.opacity);if(t instanceof lu)return hu(t);t instanceof Di||(t=Ri(t));var e,n,r=au(t.r),i=au(t.g),o=au(t.b),a=ru((.2225045*r+.7168786*i+.0606169*o)/Ws);return r===i&&i===o?e=n=a:(e=ru((.4360747*r+.3850649*i+.1430804*o)/$s),n=ru((.0139322*r+.0971045*i+.7141733*o)/Gs)),new nu(116*a-16,500*(e-a),200*(a-n),t.opacity)}function tu(t,e){return new nu(t,0,0,null==e?1:e)}function eu(t,e,n,r){return 1===arguments.length?Js(t):new nu(t,e,n,null==r?1:r)}function nu(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function ru(t){return t>Zs?Math.pow(t,1/3):t/Xs+Ys}function iu(t){return t>Qs?t*t*t:Xs*(t-Ys)}function ou(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function au(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function su(t){if(t instanceof lu)return new lu(t.h,t.c,t.l,t.opacity);if(t instanceof nu||(t=Js(t)),0===t.a&&0===t.b)return new lu(NaN,0r!=p>r&&n<(f-c)*(r-l)/(p-l)+c&&(i=-i)}return i}function Au(t,e,n){var r,i,o,a;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],o=n[r],a=e[r],i<=o&&o<=a||a<=o&&o<=i)}function Ou(){}var Nu=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Pu(){var t=1,e=1,n=Pe,r=s;function i(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(ku);else{var r=$t(t,Cu);for(e=Te.apply(void 0,M(Ne(r[0],r[1],e)).concat([e]));e[e.length-1]>=r[1];)e.pop();for(;e[1]=r,Nu[l<<2].forEach(d);++o0?s.push([t]):u.push(t)})),u.forEach((function(t){for(var e,n=0,r=s.length;n0&&o0&&a=0&&o>=0))throw new Error("invalid size");return t=r,e=o,i},i.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?Eu(xu.call(t)):Eu(t),i):n},i.smooth=function(t){return arguments.length?(r=t?s:Ou,i):r===s},i}function Cu(t){return isFinite(t)?t:NaN}function Lu(t,e){return null!=t&&+t>=e}function Ru(t){return null==t||isNaN(t=+t)?-1/0:t}function Iu(t,e,n,r){var i=r-e,o=n-e,a=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(a)?t:t+a-.5}function Du(t){return t[0]}function Mu(t){return t[1]}function ju(){return 1}function Fu(){var t=Du,e=Mu,n=ju,r=960,i=500,o=20,a=2,s=3*o,u=r+2*s>>a,c=i+2*s>>a,l=Eu(20);function h(r){var i,l=new Float32Array(u*c),h=Math.pow(2,-a),f=-1,p=j(r);try{for(p.s();!(i=p.n()).done;){var d=i.value,m=(t(d,++f,r)+s)*h,y=(e(d,f,r)+s)*h,v=+n(d,f,r);if(v&&m>=0&&m=0&&y>a,c=i+2*s>>a,f}return f.contours=function(t){var e=h(t),n=Pu().size([u,c]),r=Math.pow(2,2*a),i=function(t){t=+t;var i=p(n.contour(e,t*r));return i.value=t,i};return Object.defineProperty(i,"max",{get:function(){return Le(e)/r}}),i},f.x=function(e){return arguments.length?(t="function"==typeof e?e:Eu(+e),f):t},f.y=function(t){return arguments.length?(e="function"==typeof t?t:Eu(+t),f):e},f.weight=function(t){return arguments.length?(n="function"==typeof t?t:Eu(+t),f):n},f.size=function(t){if(!arguments.length)return[r,i];var e=+t[0],n=+t[1];if(!(e>=0&&n>=0))throw new Error("invalid size");return r=e,i=n,v()},f.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),v()},f.thresholds=function(t){return arguments.length?(l="function"==typeof t?t:Array.isArray(t)?Eu(xu.call(t)):Eu(t),f):l},f.bandwidth=function(t){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*t*t+1)-1)/2,v()},f}var Bu=134217729;function zu(t,e,n,r,i){var o,a,s,u,c=e[0],l=r[0],h=0,f=0;l>c==l>-c?(o=c,c=e[++h]):(o=l,l=r[++f]);var p=0;if(hc==l>-c?(s=o-((a=c+o)-c),c=e[++h]):(s=o-((a=l+o)-l),l=r[++f]),o=a,0!==s&&(i[p++]=s);hc==l>-c?(s=o-((a=o+c)-(u=a-o))+(c-u),c=e[++h]):(s=o-((a=o+l)-(u=a-o))+(l-u),l=r[++f]),o=a,0!==s&&(i[p++]=s);for(;h=33306690738754716e-32*c?u:-function(t,e,n,r,i,o,a){var s,u,c,l,h,f,p,d,m,y,v,g,b,_,w,x,k,E,S=t-i,T=n-i,A=e-o,O=r-o;h=(w=(d=S-(p=(f=Bu*S)-(f-S)))*(y=O-(m=(f=Bu*O)-(f-O)))-((_=S*O)-p*m-d*m-p*y))-(v=w-(k=(d=A-(p=(f=Bu*A)-(f-A)))*(y=T-(m=(f=Bu*T)-(f-T)))-((x=A*T)-p*m-d*m-p*y))),Vu[0]=w-(v+h)+(h-k),h=(b=_-((g=_+v)-(h=g-_))+(v-h))-(v=b-x),Vu[1]=b-(v+h)+(h-x),h=(E=g+v)-g,Vu[2]=g-(E-h)+(v-h),Vu[3]=E;var N=function(t,e){for(var n=e[0],r=1;r<4;r++)n+=e[r];return n}(0,Vu),P=22204460492503146e-32*a;if(N>=P||-N>=P)return N;if(s=t-(S+(h=t-S))+(h-i),c=n-(T+(h=n-T))+(h-i),u=e-(A+(h=e-A))+(h-o),l=r-(O+(h=r-O))+(h-o),0===s&&0===u&&0===c&&0===l)return N;if(P=11093356479670487e-47*a+33306690738754706e-32*Math.abs(N),(N+=S*l+O*s-(A*c+T*u))>=P||-N>=P)return N;h=(w=(d=s-(p=(f=Bu*s)-(f-s)))*(y=O-(m=(f=Bu*O)-(f-O)))-((_=s*O)-p*m-d*m-p*y))-(v=w-(k=(d=u-(p=(f=Bu*u)-(f-u)))*(y=T-(m=(f=Bu*T)-(f-T)))-((x=u*T)-p*m-d*m-p*y))),$u[0]=w-(v+h)+(h-k),h=(b=_-((g=_+v)-(h=g-_))+(v-h))-(v=b-x),$u[1]=b-(v+h)+(h-x),h=(E=g+v)-g,$u[2]=g-(E-h)+(v-h),$u[3]=E;var C=zu(4,Vu,4,$u,qu);h=(w=(d=S-(p=(f=Bu*S)-(f-S)))*(y=l-(m=(f=Bu*l)-(f-l)))-((_=S*l)-p*m-d*m-p*y))-(v=w-(k=(d=A-(p=(f=Bu*A)-(f-A)))*(y=c-(m=(f=Bu*c)-(f-c)))-((x=A*c)-p*m-d*m-p*y))),$u[0]=w-(v+h)+(h-k),h=(b=_-((g=_+v)-(h=g-_))+(v-h))-(v=b-x),$u[1]=b-(v+h)+(h-x),h=(E=g+v)-g,$u[2]=g-(E-h)+(v-h),$u[3]=E;var L=zu(C,qu,4,$u,Ku);h=(w=(d=s-(p=(f=Bu*s)-(f-s)))*(y=l-(m=(f=Bu*l)-(f-l)))-((_=s*l)-p*m-d*m-p*y))-(v=w-(k=(d=u-(p=(f=Bu*u)-(f-u)))*(y=c-(m=(f=Bu*c)-(f-c)))-((x=u*c)-p*m-d*m-p*y))),$u[0]=w-(v+h)+(h-k),h=(b=_-((g=_+v)-(h=g-_))+(v-h))-(v=b-x),$u[1]=b-(v+h)+(h-x),h=(E=g+v)-g,$u[2]=g-(E-h)+(v-h),$u[3]=E;var R=zu(L,Ku,4,$u,Hu);return Hu[R-1]}(t,e,n,r,i,o,c)}Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(8),Uu(8),Uu(8),Uu(4),Uu(8),Uu(8),Uu(8),Uu(12),Uu(192),Uu(192),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(8),Uu(8),Uu(8),Uu(8),Uu(8),Uu(8),Uu(8),Uu(8),Uu(8),Uu(4),Uu(4),Uu(4),Uu(8),Uu(16),Uu(16),Uu(16),Uu(32),Uu(32),Uu(48),Uu(64),Uu(1152),Uu(1152),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(4),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(24),Uu(1152),Uu(1152),Uu(1152),Uu(1152),Uu(1152),Uu(2304),Uu(2304),Uu(3456),Uu(5760),Uu(8),Uu(8),Uu(8),Uu(16),Uu(24),Uu(48),Uu(48),Uu(96),Uu(192),Uu(384),Uu(384),Uu(384),Uu(768),Uu(96),Uu(96),Uu(96),Uu(1152);var Gu=Math.pow(2,-52),Yu=new Uint32Array(512),Qu=function(){function t(e){L(this,t);var n=e.length>>1;if(n>0&&"number"!=typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;var r=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*r),this._halfedges=new Int32Array(3*r),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}return I(t,[{key:"update",value:function(){for(var t=this.coords,e=this._hullPrev,n=this._hullNext,r=this._hullTri,i=this._hullHash,o=t.length>>1,a=1/0,s=1/0,u=-1/0,c=-1/0,l=0;lu&&(u=h),f>c&&(c=f),this._ids[l]=l}for(var p,d,m,y=(a+u)/2,v=(s+c)/2,g=1/0,b=0;b0&&(d=k,g=E)}for(var S=t[2*d],T=t[2*d+1],A=1/0,O=0;OM&&(R[I++]=j,M=this._dists[j])}return this.hull=R.subarray(0,I),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Wu(w,x,S,T,P,C)<0){var F=d,B=S,z=T;d=m,S=P,T=C,m=F,P=B,C=z}var U=function(t,e,n,r,i,o){var a=n-t,s=r-e,u=i-t,c=o-e,l=a*a+s*s,h=u*u+c*c,f=.5/(a*c-s*u);return{x:t+(c*l-s*h)*f,y:e+(a*h-u*l)*f}}(w,x,S,T,P,C);this._cx=U.x,this._cy=U.y;for(var V=0;V0&&Math.abs(G-K)<=Gu&&Math.abs(Y-H)<=Gu)&&(K=G,H=Y,W!==p&&W!==d&&W!==m)){for(var Q=0,X=0,Z=this._hashKey(G,Y);X=0;)if((tt=J)===Q){tt=-1;break}if(-1!==tt){var et=this._addTriangle(tt,W,n[tt],-1,-1,r[tt]);r[W]=this._legalize(et+2),r[tt]=et,q++;for(var nt=n[tt];J=n[nt],Wu(G,Y,t[2*nt],t[2*nt+1],t[2*J],t[2*J+1])<0;)et=this._addTriangle(nt,W,J,r[W],-1,r[nt]),r[W]=this._legalize(et+2),n[nt]=nt,q--,nt=J;if(tt===Q)for(;Wu(G,Y,t[2*(J=e[tt])],t[2*J+1],t[2*tt],t[2*tt+1])<0;)et=this._addTriangle(J,W,tt,-1,r[tt],r[J]),this._legalize(et+2),r[J]=et,n[tt]=tt,q--,tt=J;this._hullStart=e[W]=tt,n[tt]=e[nt]=W,n[W]=nt,i[this._hashKey(G,Y)]=W,i[this._hashKey(t[2*tt],t[2*tt+1])]=tt}}}this.hull=new Uint32Array(q);for(var rt=0,it=this._hullStart;rt0?3-n:1+n)/4}(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}},{key:"_legalize",value:function(t){for(var e=this._triangles,n=this._halfedges,r=this.coords,i=0,o=0;;){var a=n[t],s=t-t%3;if(o=s+(t+2)%3,-1!==a){var u=a-a%3,c=s+(t+1)%3,l=u+(a+2)%3,h=e[o],f=e[t],p=e[c],d=e[l];if(Zu(r[2*h],r[2*h+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*d],r[2*d+1])){e[t]=d,e[a]=h;var m=n[l];if(-1===m){var y=this._hullStart;do{if(this._hullTri[y]===l){this._hullTri[y]=t;break}y=this._hullPrev[y]}while(y!==this._hullStart)}this._link(t,m),this._link(a,n[o]),this._link(o,l);var v=u+(a+1)%3;i1&&void 0!==arguments[1]?arguments[1]:nc,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:rc,i=e.length,o=new Float64Array(2*i),a=0;a=n&&e[t[s]]>a;)t[s+1]=t[s--];t[s+1]=o}else{var u=n+1,c=r;ec(t,n+r>>1,u),e[t[n]]>e[t[r]]&&ec(t,n,r),e[t[u]]>e[t[r]]&&ec(t,u,r),e[t[n]]>e[t[u]]&&ec(t,n,u);for(var l=t[u],h=e[l];;){do{u++}while(e[t[u]]h);if(c=c-n?(tc(t,e,u,r),tc(t,e,n,c-1)):(tc(t,e,n,c-1),tc(t,e,u,r))}}function ec(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function nc(t){return t[0]}function rc(t){return t[1]}var ic=1e-6,oc=function(){return I((function t(){L(this,t),this._x0=this._y0=this._x1=this._y1=null,this._=""}),[{key:"moveTo",value:function(t,e){this._+="M".concat(this._x0=this._x1=+t,",").concat(this._y0=this._y1=+e)}},{key:"closePath",value:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}},{key:"lineTo",value:function(t,e){this._+="L".concat(this._x1=+t,",").concat(this._y1=+e)}},{key:"arc",value:function(t,e,n){var r=(t=+t)+(n=+n),i=e=+e;if(n<0)throw new Error("negative radius");null===this._x1?this._+="M".concat(r,",").concat(i):(Math.abs(this._x1-r)>ic||Math.abs(this._y1-i)>ic)&&(this._+="L"+r+","+i),n&&(this._+="A".concat(n,",").concat(n,",0,1,1,").concat(t-n,",").concat(e,"A").concat(n,",").concat(n,",0,1,1,").concat(this._x1=r,",").concat(this._y1=i))}},{key:"rect",value:function(t,e,n,r){this._+="M".concat(this._x0=this._x1=+t,",").concat(this._y0=this._y1=+e,"h").concat(+n,"v").concat(+r,"h").concat(-n,"Z")}},{key:"value",value:function(){return this._||null}}])}(),ac=function(){return I((function t(){L(this,t),this._=[]}),[{key:"moveTo",value:function(t,e){this._.push([t,e])}},{key:"closePath",value:function(){this._.push(this._[0].slice())}},{key:"lineTo",value:function(t,e){this._.push([t,e])}},{key:"value",value:function(){return this._.length?this._:null}}])}(),sc=function(){return I((function t(e){var n=k(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,960,500],4),r=n[0],i=n[1],o=n[2],a=n[3];if(L(this,t),!((o=+o)>=(r=+r)&&(a=+a)>=(i=+i)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(2*e.points.length),this.vectors=new Float64Array(2*e.points.length),this.xmax=o,this.xmin=r,this.ymax=a,this.ymin=i,this._init()}),[{key:"update",value:function(){return this.delaunay.update(),this._init(),this}},{key:"_init",value:function(){for(var t,e,n,r,i=this.delaunay,o=i.points,a=i.hull,s=i.triangles,u=this.vectors,c=this.circumcenters=this._circumcenters.subarray(0,s.length/3*2),l=0,h=0,f=s.length;l1;)i-=2;for(var o=2;o0){if(e>=this.ymax)return null;(i=(this.ymax-e)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/n)this.xmax?2:0)|(ethis.ymax?8:0)}},{key:"_simplify",value:function(t){if(t&&t.length>4){for(var e=0;e2&&function(t){for(var e=t.triangles,n=t.coords,r=0;r1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:e.length/2},(function(t,e){return e})).sort((function(t,n){return e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]}));for(var n=this.collinear[0],r=this.collinear[this.collinear.length-1],i=[e[2*n],e[2*n+1],e[2*r],e[2*r+1]],o=1e-8*Math.hypot(i[3]-i[1],i[2]-i[0]),a=0,s=e.length/2;a0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=l[0],f[l[0]]=1,2===l.length&&(f[l[1]]=0,this.triangles[1]=l[1],this.triangles[2]=l[1]))}},{key:"voronoi",value:function(t){return new sc(this,t)}},{key:"neighbors",value:x().mark((function t(e){var n,r,i,o,a,s,u,c,l,h,f;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=this.inedges,r=this.hull,i=this._hullIndex,o=this.halfedges,a=this.triangles,!(s=this.collinear)){t.next=13;break}if(u=s.indexOf(e),t.t0=u>0,!t.t0){t.next=7;break}return t.next=7,s[u-1];case 7:if(t.t1=u2&&void 0!==arguments[2]?arguments[2]:0;if((t=+t)!=t||(e=+e)!=e)return-1;for(var r,i=n;(r=this._step(n,t,e))>=0&&r!==n&&r!==i;)n=r;return r}},{key:"_step",value:function(t,e,n){var r=this.inedges,i=this.hull,o=this._hullIndex,a=this.halfedges,s=this.triangles,u=this.points;if(-1===r[t]||!u.length)return(t+1)%(u.length>>1);var c=t,l=cc(e-u[2*t],2)+cc(n-u[2*t+1],2),h=r[t],f=h;do{var p=s[f],d=cc(e-u[2*p],2)+cc(n-u[2*p+1],2);if(d1&&void 0!==arguments[1]?arguments[1]:lc,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:hc,i=arguments.length>3?arguments[3]:void 0;return new t("length"in e?function(t,e,n,r){for(var i=t.length,o=new Float64Array(2*i),a=0;ah}u.mouse("drag",r)}function m(t){oi(t.view).on("mousemove.drag mouseup.drag",null),hi(t.view,n),ci(t),u.mouse("end",t)}function y(t,e){if(i.call(this,t,e)){var n,r,a=t.changedTouches,s=o.call(this,t,e),u=a.length;for(n=0;n=o?u=!0:(r=t.charCodeAt(a++))===Ec?c=!0:r===Sc&&(c=!0,t.charCodeAt(a)===Ec&&++a),t.slice(i+1,e-1).replace(/""/g,'"')}for(;a9999?"+"+Oc(e,6):Oc(e,4))+"-"+Oc(t.getUTCMonth()+1,2)+"-"+Oc(t.getUTCDate(),2)+(o?"T"+Oc(n,2)+":"+Oc(r,2)+":"+Oc(i,2)+"."+Oc(o,3)+"Z":i?"T"+Oc(n,2)+":"+Oc(r,2)+":"+Oc(i,2)+"Z":r||n?"T"+Oc(n,2)+":"+Oc(r,2)+"Z":"")}(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,o=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=Tc(t);return function(r,i){return e(n(r),i,t)}}(t,e):Tc(t)}));return o.columns=i||[],o},parseRows:r,format:function(e,n){return null==n&&(n=Ac(e)),[n.map(a).join(t)].concat(i(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=Ac(t)),i(t,e).join("\n")},formatRows:function(t){return t.map(o).join("\n")},formatRow:o,formatValue:a}}var Pc=Nc(","),Cc=Pc.parse,Lc=Pc.parseRows,Rc=Pc.format,Ic=Pc.formatBody,Dc=Pc.formatRows,Mc=Pc.formatRow,jc=Pc.formatValue,Fc=Nc("\t"),Bc=Fc.parse,zc=Fc.parseRows,Uc=Fc.format,Vc=Fc.formatBody,qc=Fc.formatRows,Kc=Fc.formatRow,Hc=Fc.formatValue;function $c(t){for(var e in t){var n,r,i=t[e].trim();if(i)if("true"===i)i=!0;else if("false"===i)i=!1;else if("NaN"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)))continue;Wc&&r[4]&&!r[7]&&(i=i.replace(/-/g,"/").replace(/T/," ")),i=new Date(i)}else i=n;else i=null;t[e]=i}return t}var Wc=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours(),Gc=function(t){return+t};function Yc(t){return t*t}function Qc(t){return t*(2-t)}function Xc(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}var Zc=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),Jc=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),tl=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),el=Math.PI,nl=el/2;function rl(t){return 1==+t?1:1-Math.cos(t*nl)}function il(t){return Math.sin(t*nl)}function ol(t){return(1-Math.cos(el*t))/2}function al(t){return 1.0009775171065494*(Math.pow(2,-10*t)-.0009765625)}function sl(t){return al(1-+t)}function ul(t){return 1-al(t)}function cl(t){return((t*=2)<=1?al(1-t):2-al(t-1))/2}function ll(t){return 1-Math.sqrt(1-t*t)}function hl(t){return Math.sqrt(1- --t*t)}function fl(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var pl=4/11,dl=6/11,ml=8/11,yl=3/4,vl=9/11,gl=10/11,bl=15/16,_l=21/22,wl=63/64,xl=1/pl/pl;function kl(t){return 1-El(1-t)}function El(t){return(t=+t)=(o=(m+v)/2))?m=o:v=o,(l=n>=(a=(y+g)/2))?y=a:g=a,i=p,!(p=p[h=l<<1|c]))return i[h]=d,t;if(s=+t._x.call(null,p.data),u=+t._y.call(null,p.data),e===s&&n===u)return d.next=p,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(c=e>=(o=(m+v)/2))?m=o:v=o,(l=n>=(a=(y+g)/2))?y=a:g=a}while((h=l<<1|c)==(f=(u>=a)<<1|s>=o));return i[f]=p,i[h]=d,t}function Jl(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function th(t){return t[0]}function eh(t){return t[1]}function nh(t,e,n){var r=new rh(null==e?th:e,null==n?eh:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function rh(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function ih(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var oh=nh.prototype=rh.prototype;function ah(t){return function(){return t}}function sh(t){return 1e-6*(t()-.5)}function uh(t){return t.x+t.vx}function ch(t){return t.y+t.vy}function lh(t){var e,n,r,i=1,o=1;function a(){for(var t,a,u,c,l,h,f,p=e.length,d=0;dc+d||ol+d||au.index){var m=c-s.x-s.vx,y=l-s.y-s.vy,v=m*m+y*y;vt.r&&(t.r=t[e].r)}function u(){if(e){var r,i,o=e.length;for(n=new Array(o),r=0;rl&&(l=r),ih&&(h=i));if(u>l||c>h)return this;for(this.cover(u,c).cover(l,h),n=0;nt||t>=i||r>e||e>=o;)switch(s=(ef||(o=u.y0)>p||(a=u.x1)=v)<<1|t>=y)&&(u=d[d.length-1],d[d.length-1]=d[d.length-1-c],d[d.length-1-c]=u)}else{var g=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=g*g+b*b;if(_=(s=(d+y)/2))?d=s:y=s,(l=a>=(u=(m+v)/2))?m=u:v=u,e=p,!(p=p[h=l<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):e?(i?e[h]=i:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(n?n[f]=p:this._root=p),this):(this._root=i,this)},oh.removeAll=function(t){for(var e=0,n=t.length;e1?(null==n?s.delete(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i,o,a,s,u,c=0,l=t.length;for(null==r?r=1/0:r*=r,c=0;c1?(c.on(t,n),e):c.on(t)}}}function xh(){var t,e,n,r,i,o=ah(-30),a=1,s=1/0,u=.81;function c(n){var i,o=t.length,a=nh(t,vh,gh).visitAfter(h);for(r=n,i=0;i=s)){(t.data!==e||t.next)&&(0===h&&(d+=(h=sh(n))*h),0===f&&(d+=(f=sh(n))*f),d1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Ah(t){return(t=Th(Math.abs(t)))?t[1]:NaN}var Oh,Nh=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ph(t){if(!(e=Nh.exec(t)))throw new Error("invalid format: "+t);var e;return new Ch({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Ch(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Lh(t,e){var n=Th(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Ph.prototype=Ch.prototype,Ch.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Rh={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Lh(100*t,e)},r:Lh,s:function(t,e){var n=Th(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Oh=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Th(t,Math.max(0,e+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Ih(t){return t}var Dh,Mh,jh,Fh=Array.prototype.map,Bh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function zh(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Ih:(e=Fh.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,s=e[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(t.substring(i-=s,i+s)),!((u+=s+1)>r));)s=e[a=(a+1)%e.length];return o.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?Ih:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Fh.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"−":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=Ph(t)).fill,n=t.align,h=t.sign,f=t.symbol,p=t.zero,d=t.width,m=t.comma,y=t.precision,v=t.trim,g=t.type;"n"===g?(m=!0,g="g"):Rh[g]||(void 0===y&&(y=12),v=!0,g="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",_="$"===f?o:/[%p]/.test(g)?u:"",w=Rh[g],x=/[defgprs%]/.test(g);function k(t){var i,o,u,f=b,k=_;if("c"===g)k=w(t)+k,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:w(Math.abs(t),y),v&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),E&&0==+t&&"+"!==h&&(E=!1),f=(E?"("===h?h:c:"-"===h||"("===h?"":h)+f,k=("s"===g?Bh[8+Oh/3]:"")+k+(E&&"("===h?")":""),x)for(i=-1,o=t.length;++i(u=t.charCodeAt(i))||u>57){k=(46===u?a+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}m&&!p&&(t=r(t,1/0));var S=f.length+t.length+k.length,T=S>1)+f+t+k+T.slice(S);break;default:t=T+f+t+k}return s(t)}return y=void 0===y?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return t+""},k}return{format:h,formatPrefix:function(t,e){var n=h(((t=Ph(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Ah(e)/3))),i=Math.pow(10,-r),o=Bh[8+r/3];return function(t){return n(i*t)+o}}}}function Uh(t){return Dh=zh(t),Mh=Dh.format,jh=Dh.formatPrefix,Dh}function Vh(t){return Math.max(0,-Ah(Math.abs(t)))}function qh(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Ah(e)/3)))-Ah(Math.abs(t)))}function Kh(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Ah(e)-Ah(t))+1}Uh({thousands:",",grouping:[3],currency:["$",""]});var Hh=1e-6,$h=1e-12,Wh=Math.PI,Gh=Wh/2,Yh=Wh/4,Qh=2*Wh,Xh=180/Wh,Zh=Wh/180,Jh=Math.abs,tf=Math.atan,ef=Math.atan2,nf=Math.cos,rf=Math.ceil,of=Math.exp,af=(Math.floor,Math.hypot),sf=Math.log,uf=Math.pow,cf=Math.sin,lf=Math.sign||function(t){return t>0?1:t<0?-1:0},hf=Math.sqrt,ff=Math.tan;function pf(t){return t>1?0:t<-1?Wh:Math.acos(t)}function df(t){return t>1?Gh:t<-1?-Gh:Math.asin(t)}function mf(t){return(t=cf(t/2))*t}function yf(){}function vf(t,e){t&&bf.hasOwnProperty(t.type)&&bf[t.type](t,e)}var gf={Feature:function(t,e){vf(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=nf(e=(e*=Zh)/2+Yh),a=cf(e),s=Af*a,u=Tf*o+s*nf(i),c=s*r*cf(i);Bf.add(ef(c,u)),Sf=t,Tf=o,Af=a}function $f(t){return zf=new Wt,xf(t,Uf),2*zf}function Wf(t){return[ef(t[1],t[0]),df(t[2])]}function Gf(t){var e=t[0],n=t[1],r=nf(n);return[r*nf(e),r*cf(e),cf(n)]}function Yf(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Qf(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Xf(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Zf(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Jf(t){var e=hf(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var tp,ep,np,rp,ip,op,ap,sp,up,cp,lp,hp,fp,pp,dp,mp,yp={point:vp,lineStart:bp,lineEnd:_p,polygonStart:function(){yp.point=wp,yp.lineStart=xp,yp.lineEnd=kp,Mf=new Wt,Uf.polygonStart()},polygonEnd:function(){Uf.polygonEnd(),yp.point=vp,yp.lineStart=bp,yp.lineEnd=_p,Bf<0?(Of=-(Pf=180),Nf=-(Cf=90)):Mf>Hh?Cf=90:Mf<-Hh&&(Nf=-90),Ff[0]=Of,Ff[1]=Pf},sphere:function(){Of=-(Pf=180),Nf=-(Cf=90)}};function vp(t,e){jf.push(Ff=[Of=t,Pf=t]),eCf&&(Cf=e)}function gp(t,e){var n=Gf([t*Zh,e*Zh]);if(Df){var r=Qf(Df,n),i=Qf([r[1],-r[0],0],r);Jf(i),i=Wf(i);var o,a=t-Lf,s=a>0?1:-1,u=i[0]*Xh*s,c=Jh(a)>180;c^(s*LfCf&&(Cf=o):c^(s*Lf<(u=(u+360)%360-180)&&uCf&&(Cf=e)),c?tEp(Of,Pf)&&(Pf=t):Ep(t,Pf)>Ep(Of,Pf)&&(Of=t):Pf>=Of?(tPf&&(Pf=t)):t>Lf?Ep(Of,t)>Ep(Of,Pf)&&(Pf=t):Ep(t,Pf)>Ep(Of,Pf)&&(Of=t)}else jf.push(Ff=[Of=t,Pf=t]);eCf&&(Cf=e),Df=n,Lf=t}function bp(){yp.point=gp}function _p(){Ff[0]=Of,Ff[1]=Pf,yp.point=vp,Df=null}function wp(t,e){if(Df){var n=t-Lf;Mf.add(Jh(n)>180?n+(n>0?360:-360):n)}else Rf=t,If=e;Uf.point(t,e),gp(t,e)}function xp(){Uf.lineStart()}function kp(){wp(Rf,If),Uf.lineEnd(),Jh(Mf)>Hh&&(Of=-(Pf=180)),Ff[0]=Of,Ff[1]=Pf,Df=null}function Ep(t,e){return(e-=t)<0?e+360:e}function Sp(t,e){return t[0]-e[0]}function Tp(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eEp(r[0],r[1])&&(r[1]=i[1]),Ep(i[0],r[1])>Ep(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,e=0,r=o[n=o.length-1];e<=n;r=i,++e)i=o[e],(s=Ep(r[1],i[0]))>a&&(a=s,Of=i[0],Pf=r[1])}return jf=Ff=null,Of===1/0||Nf===1/0?[[NaN,NaN],[NaN,NaN]]:[[Of,Nf],[Pf,Cf]]}var Op={sphere:yf,point:Np,lineStart:Cp,lineEnd:Ip,polygonStart:function(){Op.lineStart=Dp,Op.lineEnd=Mp},polygonEnd:function(){Op.lineStart=Cp,Op.lineEnd=Ip}};function Np(t,e){t*=Zh;var n=nf(e*=Zh);Pp(n*nf(t),n*cf(t),cf(e))}function Pp(t,e,n){++tp,np+=(t-np)/tp,rp+=(e-rp)/tp,ip+=(n-ip)/tp}function Cp(){Op.point=Lp}function Lp(t,e){t*=Zh;var n=nf(e*=Zh);pp=n*nf(t),dp=n*cf(t),mp=cf(e),Op.point=Rp,Pp(pp,dp,mp)}function Rp(t,e){t*=Zh;var n=nf(e*=Zh),r=n*nf(t),i=n*cf(t),o=cf(e),a=ef(hf((a=dp*o-mp*i)*a+(a=mp*r-pp*o)*a+(a=pp*i-dp*r)*a),pp*r+dp*i+mp*o);ep+=a,op+=a*(pp+(pp=r)),ap+=a*(dp+(dp=i)),sp+=a*(mp+(mp=o)),Pp(pp,dp,mp)}function Ip(){Op.point=Np}function Dp(){Op.point=jp}function Mp(){Fp(hp,fp),Op.point=Np}function jp(t,e){hp=t,fp=e,t*=Zh,e*=Zh,Op.point=Fp;var n=nf(e);pp=n*nf(t),dp=n*cf(t),mp=cf(e),Pp(pp,dp,mp)}function Fp(t,e){t*=Zh;var n=nf(e*=Zh),r=n*nf(t),i=n*cf(t),o=cf(e),a=dp*o-mp*i,s=mp*r-pp*o,u=pp*i-dp*r,c=af(a,s,u),l=df(c),h=c&&-l/c;up.add(h*a),cp.add(h*s),lp.add(h*u),ep+=l,op+=l*(pp+(pp=r)),ap+=l*(dp+(dp=i)),sp+=l*(mp+(mp=o)),Pp(pp,dp,mp)}function Bp(t){tp=ep=np=rp=ip=op=ap=sp=0,up=new Wt,cp=new Wt,lp=new Wt,xf(t,Op);var e=+up,n=+cp,r=+lp,i=af(e,n,r);return i<$h&&(e=op,n=ap,r=sp,epWh&&(t-=Math.round(t/Qh)*Qh),[t,e]}function qp(t,e,n){return(t%=Qh)?e||n?Up(Hp(t),$p(e,n)):Hp(t):e||n?$p(e,n):Vp}function Kp(t){return function(e,n){return Jh(e+=t)>Wh&&(e-=Math.round(e/Qh)*Qh),[e,n]}}function Hp(t){var e=Kp(t);return e.invert=Kp(-t),e}function $p(t,e){var n=nf(t),r=cf(t),i=nf(e),o=cf(e);function a(t,e){var a=nf(e),s=nf(t)*a,u=cf(t)*a,c=cf(e),l=c*n+s*r;return[ef(u*i-l*o,s*n-c*r),df(l*i+u*o)]}return a.invert=function(t,e){var a=nf(e),s=nf(t)*a,u=cf(t)*a,c=cf(e),l=c*i-u*o;return[ef(u*i+c*o,s*n+l*r),df(l*n-s*r)]},a}function Wp(t){function e(e){return(e=t(e[0]*Zh,e[1]*Zh))[0]*=Xh,e[1]*=Xh,e}return t=qp(t[0]*Zh,t[1]*Zh,t.length>2?t[2]*Zh:0),e.invert=function(e){return(e=t.invert(e[0]*Zh,e[1]*Zh))[0]*=Xh,e[1]*=Xh,e},e}function Gp(t,e,n,r,i,o){if(n){var a=nf(e),s=cf(e),u=r*n;null==i?(i=e+r*Qh,o=e-u/2):(i=Yp(a,i),o=Yp(a,o),(r>0?io)&&(i+=r*Qh));for(var c,l=i;r>0?l>o:l1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Zp(t,e){return Jh(t[0]-e[0])=0;--o)i.point((l=c[o])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}c=(f=f.o).z,p=!p}while(!f.v);i.lineEnd()}}}function ed(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,T=S*E,A=T>Wh,O=y*x;if(u.add(ef(O*S*cf(T),v*k+O*nf(T))),a+=A?E+S*Qh:E,A^d>=n^_>=n){var N=Qf(Gf(p),Gf(b));Jf(N);var P=Qf(o,N);Jf(P);var C=(A^E>=0?-1:1)*df(P[2]);(r>C||r===C&&(N[0]||N[1]))&&(s+=A^E>=0?1:-1)}}return(a<-Hh||a0){for(h||(i.polygonStart(),h=!0),i.lineStart(),t=0;t1&&2&u&&f.push(f.pop().concat(f.shift())),a.push(f.filter(od))}return f}}function od(t){return t.length>1}function ad(t,e){return((t=t.x)[0]<0?t[1]-Gh-Hh:Gh-t[1])-((e=e.x)[0]<0?e[1]-Gh-Hh:Gh-e[1])}Vp.invert=Vp;var sd=id((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var s=o>0?Wh:-Wh,u=Jh(o-n);Jh(u-Wh)0?Gh:-Gh),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(o,r),e=0):i!==s&&u>=Wh&&(Jh(n-i)Hh?tf((cf(e)*(o=nf(r))*cf(n)-cf(r)*(i=nf(e))*cf(t))/(i*o*a)):(e+r)/2}(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=o,r=a),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*Gh,r.point(-Wh,i),r.point(0,i),r.point(Wh,i),r.point(Wh,0),r.point(Wh,-i),r.point(0,-i),r.point(-Wh,-i),r.point(-Wh,0),r.point(-Wh,i);else if(Jh(t[0]-e[0])>Hh){var o=t[0]0,i=Jh(e)>Hh;function o(t,n){return nf(t)*nf(n)>e}function a(t,n,r){var i=[1,0,0],o=Qf(Gf(t),Gf(n)),a=Yf(o,o),s=o[0],u=a-s*s;if(!u)return!r&&t;var c=e*a/u,l=-e*s/u,h=Qf(i,o),f=Zf(i,c);Xf(f,Zf(o,l));var p=h,d=Yf(f,p),m=Yf(p,p),y=d*d-m*(Yf(f,f)-1);if(!(y<0)){var v=hf(y),g=Zf(p,(-d-v)/m);if(Xf(g,f),g=Wf(g),!r)return g;var b,_=t[0],w=n[0],x=t[1],k=n[1];w<_&&(b=_,_=w,w=b);var E=w-_,S=Jh(E-Wh)0^g[1]<(Jh(g[0]-_)Wh^(_<=g[0]&&g[0]<=w)){var T=Zf(p,(-d+v)/m);return Xf(T,f),[g,Wf(T)]}}}function s(e,n){var i=r?t:Wh-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return id(o,(function(t){var e,n,u,c,l;return{lineStart:function(){c=u=!1,l=1},point:function(h,f){var p,d=[h,f],m=o(h,f),y=r?m?0:s(h,f):m?s(h+(h<0?Wh:-Wh),f):0;if(!e&&(c=u=m)&&t.lineStart(),m!==u&&(!(p=a(e,d))||Zp(e,p)||Zp(d,p))&&(d[2]=1),m!==u)l=0,m?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1],2),t.lineEnd()),e=p;else if(i&&e&&r^m){var v;y&n||!(v=a(d,e,!0))||(l=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1],3)))}!m||e&&Zp(e,d)||t.point(d[0],d[1]),e=d,u=m,n=y},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return l|(c&&u)<<1}}}),(function(e,r,i,o){Gp(o,t,n,i,e,r)}),r?[0,-t]:[-Wh,t-Wh])}var cd,ld,hd,fd,pd=1e9,dd=-pd;function md(t,e,n,r){function i(i,o){return t<=i&&i<=n&&e<=o&&o<=r}function o(i,o,s,c){var l=0,h=0;if(null==i||(l=a(i,s))!==(h=a(o,s))||u(i,o)<0^s>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==h);else c.point(o[0],o[1])}function a(r,i){return Jh(r[0]-t)0?0:3:Jh(r[0]-n)0?2:1:Jh(r[1]-e)0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(t,e){var n=a(t,1),r=a(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){var u,c,l,h,f,p,d,m,y,v,g,b=a,_=Xp(),w={point:x,lineStart:function(){w.point=k,c&&c.push(l=[]),v=!0,y=!1,d=m=NaN},lineEnd:function(){u&&(k(h,f),p&&y&&_.rejoin(),u.push(_.result())),w.point=x,y&&b.lineEnd()},polygonStart:function(){b=_,u=[],c=[],g=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=c.length;nr&&(f-o)*(r-a)>(p-a)*(t-o)&&++e:p<=r&&(f-o)*(r-a)<(p-a)*(t-o)&&--e;return e}(),n=g&&e,i=(u=We(u)).length;(n||i)&&(a.polygonStart(),n&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&td(u,s,e,o,a),a.polygonEnd()),b=a,u=c=l=null}};function x(t,e){i(t,e)&&b.point(t,e)}function k(o,a){var s=i(o,a);if(c&&l.push([o,a]),v)h=o,f=a,p=s,v=!1,s&&(b.lineStart(),b.point(o,a));else if(s&&y)b.point(o,a);else{var u=[d=Math.max(dd,Math.min(pd,d)),m=Math.max(dd,Math.min(pd,m))],_=[o=Math.max(dd,Math.min(pd,o)),a=Math.max(dd,Math.min(pd,a))];!function(t,e,n,r,i,o){var a,s=t[0],u=t[1],c=0,l=1,h=e[0]-s,f=e[1]-u;if(a=n-s,h||!(a>0)){if(a/=h,h<0){if(a0){if(a>l)return;a>c&&(c=a)}if(a=i-s,h||!(a<0)){if(a/=h,h<0){if(a>l)return;a>c&&(c=a)}else if(h>0){if(a0)){if(a/=f,f<0){if(a0){if(a>l)return;a>c&&(c=a)}if(a=o-u,f||!(a<0)){if(a/=f,f<0){if(a>l)return;a>c&&(c=a)}else if(f>0){if(a0&&(t[0]=s+c*h,t[1]=u+c*f),l<1&&(e[0]=s+l*h,e[1]=u+l*f),!0}}}}}(u,_,t,e,n,r)?s&&(b.lineStart(),b.point(o,a),g=!1):(y||(b.lineStart(),b.point(u[0],u[1])),b.point(_[0],_[1]),s||b.lineEnd(),g=!1)}d=o,m=a,y=s}return w}}function yd(){var t,e,n,r=0,i=0,o=960,a=500;return n={stream:function(n){return t&&e===n?t:t=md(r,i,o,a)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],o=+s[1][0],a=+s[1][1],t=e=null,n):[[r,i],[o,a]]}}}var vd={sphere:yf,point:yf,lineStart:function(){vd.point=bd,vd.lineEnd=gd},lineEnd:yf,polygonStart:yf,polygonEnd:yf};function gd(){vd.point=vd.lineEnd=yf}function bd(t,e){ld=t*=Zh,hd=cf(e*=Zh),fd=nf(e),vd.point=_d}function _d(t,e){t*=Zh;var n=cf(e*=Zh),r=nf(e),i=Jh(t-ld),o=nf(i),a=r*cf(i),s=fd*n-hd*r*o,u=hd*n+fd*r*o;cd.add(ef(hf(a*a+s*s),u)),ld=t,hd=n,fd=r}function wd(t){return cd=new Wt,xf(t,vd),+cd}var xd=[null,null],kd={type:"LineString",coordinates:xd};function Ed(t,e){return xd[0]=t,xd[1]=e,wd(kd)}var Sd={Feature:function(t,e){return Ad(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r0&&(i=Ed(t[o],t[o-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<$h*i)return!0;n=r}return!1}function Pd(t,e){return!!rd(t.map(Cd),Ld(e))}function Cd(t){return(t=t.map(Ld)).pop(),t}function Ld(t){return[t[0]*Zh,t[1]*Zh]}function Rd(t,e){return(t&&Sd.hasOwnProperty(t.type)?Sd[t.type]:Ad)(t,e)}function Id(t,e,n){var r=Xe(t,e-Hh,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function Dd(t,e,n){var r=Xe(t,e-Hh,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function Md(){var t,e,n,r,i,o,a,s,u,c,l,h,f=10,p=f,d=90,m=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:g()}}function g(){return Xe(rf(r/d)*d,n,d).map(l).concat(Xe(rf(s/m)*m,a,m).map(h)).concat(Xe(rf(e/f)*f,t,f).filter((function(t){return Jh(t%d)>Hh})).map(u)).concat(Xe(rf(o/p)*p,i,p).filter((function(t){return Jh(t%m)>Hh})).map(c))}return v.lines=function(){return g().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(a).slice(1),l(n).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],a=+t[1][1],r>n&&(t=r,r=n,n=t),s>a&&(t=s,s=a,a=t),v.precision(y)):[[r,s],[n,a]]},v.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],o=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),o>i&&(n=o,o=i,i=n),v.precision(y)):[[e,o],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(d=+t[0],m=+t[1],v):[d,m]},v.stepMinor=function(t){return arguments.length?(f=+t[0],p=+t[1],v):[f,p]},v.precision=function(f){return arguments.length?(y=+f,u=Id(o,i,90),c=Dd(e,t,y),l=Id(s,a,90),h=Dd(r,n,y),v):y},v.extentMajor([[-180,-90+Hh],[180,90-Hh]]).extentMinor([[-180,-80-Hh],[180,80+Hh]])}function jd(){return Md()()}function Fd(t,e){var n=t[0]*Zh,r=t[1]*Zh,i=e[0]*Zh,o=e[1]*Zh,a=nf(r),s=cf(r),u=nf(o),c=cf(o),l=a*nf(n),h=a*cf(n),f=u*nf(i),p=u*cf(i),d=2*df(hf(mf(o-r)+a*u*mf(i-n))),m=cf(d),y=d?function(t){var e=cf(t*=d)/m,n=cf(d-t)/m,r=n*l+e*f,i=n*h+e*p,o=n*s+e*c;return[ef(i,r)*Xh,ef(o,hf(r*r+i*i))*Xh]}:function(){return[n*Xh,r*Xh]};return y.distance=d,y}var Bd,zd,Ud,Vd,qd=function(t){return t},Kd=new Wt,Hd=new Wt,$d={point:yf,lineStart:yf,lineEnd:yf,polygonStart:function(){$d.lineStart=Wd,$d.lineEnd=Qd},polygonEnd:function(){$d.lineStart=$d.lineEnd=$d.point=yf,Kd.add(Jh(Hd)),Hd=new Wt},result:function(){var t=Kd/2;return Kd=new Wt,t}};function Wd(){$d.point=Gd}function Gd(t,e){$d.point=Yd,Bd=Ud=t,zd=Vd=e}function Yd(t,e){Hd.add(Vd*t-Ud*e),Ud=t,Vd=e}function Qd(){Yd(Bd,zd)}var Xd,Zd,Jd,tm,em=$d,nm=1/0,rm=nm,im=-nm,om=im,am={point:function(t,e){tim&&(im=t),eom&&(om=e)},lineStart:yf,lineEnd:yf,polygonStart:yf,polygonEnd:yf,result:function(){var t=[[nm,rm],[im,om]];return im=om=-(rm=nm=1/0),t}},sm=am,um=0,cm=0,lm=0,hm=0,fm=0,pm=0,dm=0,mm=0,ym=0,vm={point:gm,lineStart:bm,lineEnd:xm,polygonStart:function(){vm.lineStart=km,vm.lineEnd=Em},polygonEnd:function(){vm.point=gm,vm.lineStart=bm,vm.lineEnd=xm},result:function(){var t=ym?[dm/ym,mm/ym]:pm?[hm/pm,fm/pm]:lm?[um/lm,cm/lm]:[NaN,NaN];return um=cm=lm=hm=fm=pm=dm=mm=ym=0,t}};function gm(t,e){um+=t,cm+=e,++lm}function bm(){vm.point=_m}function _m(t,e){vm.point=wm,gm(Jd=t,tm=e)}function wm(t,e){var n=t-Jd,r=e-tm,i=hf(n*n+r*r);hm+=i*(Jd+t)/2,fm+=i*(tm+e)/2,pm+=i,gm(Jd=t,tm=e)}function xm(){vm.point=gm}function km(){vm.point=Sm}function Em(){Tm(Xd,Zd)}function Sm(t,e){vm.point=Tm,gm(Xd=Jd=t,Zd=tm=e)}function Tm(t,e){var n=t-Jd,r=e-tm,i=hf(n*n+r*r);hm+=i*(Jd+t)/2,fm+=i*(tm+e)/2,pm+=i,dm+=(i=tm*t-Jd*e)*(Jd+t),mm+=i*(tm+e),ym+=3*i,gm(Jd=t,tm=e)}var Am=vm;function Om(t){this._context=t}Om.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Qh)}},result:yf};var Nm,Pm,Cm,Lm,Rm,Im=new Wt,Dm={point:yf,lineStart:function(){Dm.point=Mm},lineEnd:function(){Nm&&jm(Pm,Cm),Dm.point=yf},polygonStart:function(){Nm=!0},polygonEnd:function(){Nm=null},result:function(){var t=+Im;return Im=new Wt,t}};function Mm(t,e){Dm.point=jm,Pm=Lm=t,Cm=Rm=e}function jm(t,e){Lm-=t,Rm-=e,Im.add(hf(Lm*Lm+Rm*Rm)),Lm=t,Rm=e}var Fm,Bm,zm,Um,Vm=Dm,qm=function(){return I((function t(e){L(this,t),this._append=null==e?Km:function(t){var e=Math.floor(t);if(!(e>=0))throw new RangeError("invalid digits: ".concat(t));if(e>15)return Km;if(e!==Fm){var n=Math.pow(10,e);Fm=e,Bm=function(t){var e=1;this._+=t[0];for(var r=t.length;e=0))throw new RangeError("invalid digits: ".concat(t));i=n}return null===e&&(r=new qm(i)),a},a.projection(t).digits(i).context(e)}function $m(t){return{stream:Wm(t)}}function Wm(t){return function(e){var n=new Gm;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Gm(){}function Ym(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),xf(n,t.stream(sm)),e(sm.result()),null!=r&&t.clipExtent(r),t}function Qm(t,e,n){return Ym(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+e[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,s])}),n)}function Xm(t,e,n){return Qm(t,[[0,0],e],n)}function Zm(t,e,n){return Ym(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];t.scale(150*i).translate([o,a])}),n)}function Jm(t,e,n){return Ym(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([o,a])}),n)}Gm.prototype={constructor:Gm,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var ty=16,ey=nf(30*Zh);function ny(t,e){return+e?function(t,e){function n(r,i,o,a,s,u,c,l,h,f,p,d,m,y){var v=c-r,g=l-i,b=v*v+g*g;if(b>4*e&&m--){var _=a+f,w=s+p,x=u+d,k=hf(_*_+w*w+x*x),E=df(x/=k),S=Jh(Jh(x)-1)e||Jh((v*N+g*P)/b-.5)>.3||a*f+s*p+u*d2?t[2]%360*Zh:0,N()):[y*Xh,v*Xh,g*Xh]},A.angle=function(t){return arguments.length?(b=t%360*Zh,N()):b*Xh},A.reflectX=function(t){return arguments.length?(_=t?-1:1,N()):_<0},A.reflectY=function(t){return arguments.length?(w=t?-1:1,N()):w<0},A.precision=function(t){return arguments.length?(a=ny(s,T=t*t),P()):hf(T)},A.fitExtent=function(t,e){return Qm(A,t,e)},A.fitSize=function(t,e){return Xm(A,t,e)},A.fitWidth=function(t,e){return Zm(A,t,e)},A.fitHeight=function(t,e){return Jm(A,t,e)},function(){return e=t.apply(this,arguments),A.invert=e.invert&&O,N()}}function sy(t){var e=0,n=Wh/3,r=ay(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Zh,n=t[1]*Zh):[e*Xh,n*Xh]},i}function uy(t,e){var n=cf(t),r=(n+cf(e))/2;if(Jh(r)=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[a.stream(e=n),s.stream(n),u.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n0?e<-Gh+Hh&&(e=-Gh+Hh):e>Gh-Hh&&(e=Gh-Hh);var n=i/uf(wy(e),r);return[n*cf(r*t),i-n*nf(r*t)]}return o.invert=function(t,e){var n=i-e,o=lf(r)*hf(t*t+n*n),a=ef(t,Jh(n))*lf(n);return n*r<0&&(a-=Wh*lf(t)*lf(n)),[a/r,2*tf(uf(i/o,1/r))-Gh]},o}function ky(){return sy(xy).scale(109.5).parallels([30,30])}function Ey(t,e){return[t,e]}function Sy(){return oy(Ey).scale(152.63)}function Ty(t,e){var n=nf(t),r=t===e?cf(t):(n-nf(e))/(e-t),i=n/r+t;if(Jh(r)2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)}function $y(t,e){return t.parent===e.parent?1:2}function Wy(t,e){return t+e.x}function Gy(t,e){return Math.max(t,e.y)}function Yy(){var t=$y,e=1,n=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(Wy,0)/t.length}(n),e.y=function(t){return 1+t.reduce(Gy,0)}(n)):(e.x=o?a+=t(e,o):0,e.y=0,o=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),c=s.x-t(s,u)/2,l=u.x+t(u,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-c)/(l-c)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}function Qy(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function Xy(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=Jy)):void 0===e&&(e=Zy);for(var n,r,i,o,a,s=new nv(t),u=[s];n=u.pop();)if((i=e(n.data))&&(a=(i=Array.from(i)).length))for(n.children=i,o=a-1;o>=0;--o)u.push(r=i[o]=new nv(i[o])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(ev)}function Zy(t){return t.children}function Jy(t){return Array.isArray(t)?t[1]:null}function tv(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function ev(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function nv(t){this.data=t,this.depth=this.height=0,this.parent=null}function rv(t){return null==t?null:iv(t)}function iv(t){if("function"!=typeof t)throw new Error;return t}function ov(){return 0}function av(t){return function(){return t}}Ry.invert=function(t,e){for(var n,r=e,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=n=(r*(Oy+Ny*i+o*(Py+Cy*i))-e)/(Oy+3*Ny*i+o*(7*Py+9*Cy*i)))*r)*i*i,!(Jh(n)<$h));++a);return[Ly*t*(Oy+3*Ny*i+o*(7*Py+9*Cy*i))/nf(r),df(cf(r)/Ly)]},Dy.invert=py(tf),Fy.invert=function(t,e){var n,r=e,i=25;do{var o=r*r,a=o*o;r-=n=(r*(1.007226+o*(.015085+a*(.028874*o-.044475-.005916*a)))-e)/(1.007226+o*(.045255+a*(.259866*o-.311325-.005916*11*a)))}while(Jh(n)>Hh&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},zy.invert=py(df),Vy.invert=py((function(t){return 2*tf(t)})),Ky.invert=function(t,e){return[-e,2*tf(of(t))-Gh]},nv.prototype=Xy.prototype=w({constructor:nv,count:function(){return this.eachAfter(Qy)},each:function(t,e){var n,r=-1,i=j(this);try{for(i.s();!(n=i.n()).done;){var o=n.value;t.call(e,o,++r,this)}}catch(t){i.e(t)}finally{i.f()}return this},eachAfter:function(t,e){for(var n,r,i,o=this,a=[o],s=[],u=-1;o=a.pop();)if(s.push(o),n=o.children)for(r=0,i=n.length;r=0;--r)o.push(n[r]);return this},find:function(t,e){var n,r=-1,i=j(this);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(t.call(e,o,++r,this))return o}}catch(t){i.e(t)}finally{i.f()}},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return Xy(this).eachBefore(tv)}},Symbol.iterator,x().mark((function t(){var e,n,r,i,o,a;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:a=[o=this];case 1:e=a.reverse(),a=[];case 2:if(!(o=e.pop())){t.next=9;break}return t.next=5,o;case 5:if(!(n=o.children)){t.next=7;break}for(r=0,i=n.length;r0&&n*n>r*r+i*i}function yv(t,e){for(var n=0;n1e-6?(A+Math.sqrt(A*A-4*T*O))/(2*T):O/A);return{x:r+x+k*N,y:i+E+S*N,r:N}}function _v(t,e,n){var r,i,o,a,s=t.x-e.x,u=t.y-e.y,c=s*s+u*u;c?(i=e.r+n.r,i*=i,a=t.r+n.r,i>(a*=a)?(r=(c+a-i)/(2*c),o=Math.sqrt(Math.max(0,a/c-r*r)),n.x=t.x-r*s-o*u,n.y=t.y-r*u+o*s):(r=(c+i-a)/(2*c),o=Math.sqrt(Math.max(0,i/c-r*r)),n.x=e.x+r*s-o*u,n.y=e.y+r*u+o*s)):(n.x=e.x+n.r,n.y=e.y)}function wv(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function xv(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function kv(t){this._=t,this.next=null,this.previous=null}function Ev(t,e){if(!(a=(n=t,t="object"==z(n)&&"length"in n?n:Array.from(n)).length))return 0;var n,r,i,o,a,s,u,c,l,h,f,p;if((r=t[0]).x=0,r.y=0,!(a>1))return r.r;if(i=t[1],r.x=-i.r,i.x=r.r,i.y=0,!(a>2))return r.r+i.r;_v(i,r,o=t[2]),r=new kv(r),i=new kv(i),o=new kv(o),r.next=o.previous=i,i.next=r.previous=o,o.next=i.previous=r;t:for(c=3;c=0&&(c=f[x]).data===Mv;--x)c.data=null}if(s.parent=Iv,s.eachBefore((function(t){t.depth=t.parent.depth+1,--i})).eachBefore(ev),s.parent=null,i>0)throw new Error("cycle");return s}return r.id=function(t){return arguments.length?(e=rv(t),r):e},r.parentId=function(t){return arguments.length?(n=rv(t),r):n},r.path=function(e){return arguments.length?(t=rv(e),r):t},r}function zv(t){var e=t.length;if(e<2)return"";for(;--e>1&&!Uv(t,e););return t.slice(0,e)}function Uv(t,e){if("/"===t[e]){for(var n=0;e>0&&"\\"===t[--e];)++n;if(!(1&n))return!0}return!1}function Vv(t,e){return t.parent===e.parent?1:2}function qv(t){var e=t.children;return e?e[0]:t.t}function Kv(t){var e=t.children;return e?e[e.length-1]:t.t}function Hv(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function $v(t,e,n){return t.a.parent===e.parent?t.a:n}function Wv(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function Gv(){var t=Vv,e=1,n=1,r=null;function i(i){var u=function(t){for(var e,n,r,i,o,a=new Wv(t,0),s=[a];e=s.pop();)if(r=e._.children)for(e.children=new Array(o=r.length),i=o-1;i>=0;--i)s.push(n=e.children[i]=new Wv(r[i],i)),n.parent=e;return(a.parent=new Wv(null,0)).children=[a],a}(i);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),r)i.eachBefore(s);else{var c=i,l=i,h=i;i.eachBefore((function(t){t.xl.x&&(l=t),t.depth>h.depth&&(h=t)}));var f=c===l?1:t(c,l)/2,p=f-c.x,d=e/(l.x+f+p),m=n/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function o(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)(e=i[o]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var o=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-o):e.z=o}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,o=e,a=e,s=n,u=o.parent.children[0],c=o.m,l=a.m,h=s.m,f=u.m;s=Kv(s),o=qv(o),s&&o;)u=qv(u),(a=Kv(a)).a=e,(i=s.z+h-o.z-c+t(s._,o._))>0&&(Hv($v(s,e,r),e,i),c+=i,l+=i),h+=s.m,c+=o.m,f+=u.m,l+=a.m;s&&!Kv(a)&&(a.t=s,a.m+=h-l),o&&!qv(u)&&(u.t=o,u.m+=c-f,r=e)}return r}(e,i,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}function Yv(t,e,n,r,i){for(var o,a=t.children,s=-1,u=a.length,c=t.value&&(i-n)/t.value;++sf&&(f=s),y=l*l*m,(p=Math.max(f/y,y/h))>d){l-=s;break}d=p}v.push(a={value:l,dice:u1?e:1)},n}(Qv);function Jv(){var t=Zv,e=!1,n=1,r=1,i=[0],o=ov,a=ov,s=ov,u=ov,c=ov;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(h),i=[0],e&&t.eachBefore(Cv),t}function h(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,h=e.x1-n,f=e.y1-n;h=n-1){var l=s[e];return l.x0=i,l.y0=o,l.x1=a,void(l.y1=u)}for(var h=c[e],f=r/2+h,p=e+1,d=n-1;p>>1;c[m]u-o){var g=r?(i*v+a*y)/r:a;t(e,p,y,i,o,g,u),t(p,n,v,g,o,a,u)}else{var b=r?(o*v+u*y)/r:u;t(e,p,y,i,o,a,b),t(p,n,v,i,b,a,u)}}(0,u,t.value,e,n,r,i)}function eg(t,e,n,r,i){(1&t.depth?Yv:Lv)(t,e,n,r,i)}var ng=function t(e){function n(t,n,r,i,o){if((a=t._squarify)&&a.ratio===e)for(var a,s,u,c,l,h=-1,f=a.length,p=t.value;++h1?e:1)},n}(Qv);function rg(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function ig(t,e){var n=Ji(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}}function og(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function ag(t){return((t=Math.exp(t))+1/t)/2}var sg=function t(e,n,r){function i(t,i){var o,a,s=t[0],u=t[1],c=t[2],l=i[0],h=i[1],f=i[2],p=l-s,d=h-u,m=p*p+d*d;if(m<1e-12)a=Math.log(f/c)/e,o=function(t){return[s+t*p,u+t*d,c*Math.exp(e*t*a)]};else{var y=Math.sqrt(m),v=(f*f-c*c+r*m)/(2*c*n*y),g=(f*f-c*c-r*m)/(2*f*n*y),b=Math.log(Math.sqrt(v*v+1)-v),_=Math.log(Math.sqrt(g*g+1)-g);a=(_-b)/e,o=function(t){var r,i=t*a,o=ag(b),l=c/(n*y)*(o*(r=e*i+b,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(b));return[s+l*p,u+l*d,c*o/ag(e*i+b)]}}return o.duration=1e3*a*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4);function ug(t){return function(e,n){var r=t((e=qi(e)).h,(n=qi(n)).h),i=to(e.s,n.s),o=to(e.l,n.l),a=to(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=o(t),e.opacity=a(t),e+""}}}var cg=ug(Ji),lg=ug(to);function hg(t,e){var n=to((t=eu(t)).l,(e=eu(e)).l),r=to(t.a,e.a),i=to(t.b,e.b),o=to(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=o(e),t+""}}function fg(t){return function(e,n){var r=t((e=cu(e)).h,(n=cu(n)).h),i=to(e.c,n.c),o=to(e.l,n.l),a=to(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=o(t),e.opacity=a(t),e+""}}}var pg=fg(Ji),dg=fg(to);function mg(t){return function e(n){function r(e,r){var i=t((e=_u(e)).h,(r=_u(r)).h),o=to(e.s,r.s),a=to(e.l,r.l),s=to(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=o(t),e.l=a(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}var yg=mg(Ji),vg=mg(to);function gg(t,e){void 0===e&&(e=t,t=yo);for(var n=0,r=e.length-1,i=e[0],o=new Array(r<0?0:r);n1&&xg(t[r[i-2]],t[r[i-1]],t[e])<=0;)--i;r[i++]=e}return r.slice(0,i)}function Sg(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e=0;--e)c.push(t[r[o[e]][2]]);for(e=+s;es!=c>s&&a<(u-n)*(s-r)/(c-r)+n&&(l=!l),u=n,c=r;return l}function Ag(t){for(var e,n,r=-1,i=t.length,o=t[i-1],a=o[0],s=o[1],u=0;++r1);return t+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Og),Lg=function t(e){var n=Cg.source(e);function r(){var t=n.apply(this,arguments);return function(){return Math.exp(t())}}return r.source=t,r}(Og),Rg=function t(e){function n(t){return(t=+t)<=0?function(){return 0}:function(){for(var n=0,r=t;r>1;--r)n+=e();return n+r*e()}}return n.source=t,n}(Og),Ig=function t(e){var n=Rg.source(e);function r(t){if(0==(t=+t))return e;var r=n(t);return function(){return r()/t}}return r.source=t,r}(Og),Dg=function t(e){function n(t){return function(){return-Math.log1p(-e())/t}}return n.source=t,n}(Og),Mg=function t(e){function n(t){if((t=+t)<0)throw new RangeError("invalid alpha");return t=1/-t,function(){return Math.pow(1-e(),t)}}return n.source=t,n}(Og),jg=function t(e){function n(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+t)}}return n.source=t,n}(Og),Fg=function t(e){function n(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return 0===t?function(){return 1/0}:1===t?function(){return 1}:(t=Math.log1p(-t),function(){return 1+Math.floor(Math.log1p(-e())/t)})}return n.source=t,n}(Og),Bg=function t(e){var n=Cg.source(e)();function r(t,r){if((t=+t)<0)throw new RangeError("invalid k");if(0===t)return function(){return 0};if(r=null==r?1:+r,1===t)return function(){return-Math.log1p(-e())*r};var i=(t<1?t+1:t)-1/3,o=1/(3*Math.sqrt(i)),a=t<1?function(){return Math.pow(e(),1/t)}:function(){return 1};return function(){do{do{var t=n(),s=1+o*t}while(s<=0);s*=s*s;var u=1-e()}while(u>=1-.0331*t*t*t*t&&Math.log(u)>=.5*t*t+i*(1-s+Math.log(s)));return i*s*a()*r}}return r.source=t,r}(Og),zg=function t(e){var n=Bg.source(e);function r(t,e){var r=n(t),i=n(e);return function(){var t=r();return 0===t?0:t/(t+i())}}return r.source=t,r}(Og),Ug=function t(e){var n=Fg.source(e),r=zg.source(e);function i(t,e){return t=+t,(e=+e)>=1?function(){return t}:e<=0?function(){return 0}:function(){for(var i=0,o=t,a=e;o*a>16&&o*(1-a)>16;){var s=Math.floor((o+1)*a),u=r(s,o-s+1)();u<=a?(i+=s,o-=s,a=(a-u)/(1-u)):(o=s-1,a/=u)}for(var c=a<.5,l=n(c?a:1-a),h=l(),f=0;h<=o;++f)h+=l();return i+(c?f:o-f)}}return i.source=t,i}(Og),Vg=function t(e){function n(t,n,r){var i;return 0==(t=+t)?i=function(t){return-Math.log(t)}:(t=1/t,i=function(e){return Math.pow(e,t)}),n=null==n?0:+n,r=null==r?1:+r,function(){return n+r*i(-Math.log1p(-e()))}}return n.source=t,n}(Og),qg=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,function(){return t+n*Math.tan(Math.PI*e())}}return n.source=t,n}(Og),Kg=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,function(){var r=e();return t+n*Math.log(r/(1-r))}}return n.source=t,n}(Og),Hg=function t(e){var n=Bg.source(e),r=Ug.source(e);function i(t){return function(){for(var i=0,o=t;o>16;){var a=Math.floor(.875*o),s=n(a)();if(s>o)return i+r(a-1,o/s)();i+=a,o-=s}for(var u=-Math.log1p(-e()),c=0;u<=o;++c)u-=Math.log1p(-e());return i+c}}return i.source=t,i}(Og),$g=1664525,Wg=1013904223,Gg=1/4294967296;function Yg(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.random(),e=0|(0<=t&&t<1?t/Gg:Math.abs(t));return function(){return Gg*((e=$g*e+Wg|0)>>>0)}}function Qg(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function Xg(t,e){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof e?this.interpolator(e):this.range(e)}return this}var Zg=Symbol("implicit");function Jg(){var t=new Qt,e=[],n=[],r=Zg;function i(i){var o=t.get(i);if(void 0===o){if(r!==Zg)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new Qt;var r,o=j(n);try{for(o.s();!(r=o.n()).done;){var a=r.value;t.has(a)||t.set(a,e.push(a)-1)}}catch(t){o.e(t)}finally{o.f()}return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Jg(e,n).unknown(r)},Qg.apply(i,arguments),i}function tb(){var t,e,n=Jg().unknown(void 0),r=n.domain,i=n.range,o=0,a=1,s=!1,u=0,c=0,l=.5;function h(){var n=r().length,h=ae&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?ub:sb,i=o=null,h}function h(e){return null==e||isNaN(e=+e)?n:(i||(i=r(a.map(t),s,u)))(t(c(e)))}return h.invert=function(n){return c(e((o||(o=r(s,a.map(t),lo)))(n)))},h.domain=function(t){return arguments.length?(a=Array.from(t,rb),l()):a.slice()},h.range=function(t){return arguments.length?(s=Array.from(t),l()):s.slice()},h.rangeRound=function(t){return s=Array.from(t),u=og,l()},h.clamp=function(t){return arguments.length?(c=!!t||ob,l()):c!==ob},h.interpolate=function(t){return arguments.length?(u=t,l()):u},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}}function hb(){return lb()(ob,ob)}function fb(t,e,n,r){var i,o=Oe(t,e,n);switch((r=Ph(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=qh(o,a))||(r.precision=i),jh(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Kh(o,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Vh(o))||(r.precision=i-2*("%"===r.type))}return Mh(r)}function pb(t){var e=t.domain;return t.ticks=function(t){var n=e();return Te(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return fb(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i,o=e(),a=0,s=o.length-1,u=o[a],c=o[s],l=10;for(c0;){if((i=Ae(u,c,n))===r)return o[a]=u,o[s]=c,e(o);if(i>0)u=Math.floor(u/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;u=Math.ceil(u*i)/i,c=Math.floor(c*i)/i}r=i}return t},t}function db(){var t=hb();return t.copy=function(){return cb(t,db())},Qg.apply(t,arguments),pb(t)}function mb(t){var e;function n(t){return null==t||isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,rb),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return mb(t).unknown(e)},t=arguments.length?Array.from(t,rb):[0,1],pb(n)}function yb(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a0){for(;f<=p;++f)for(l=1;lu)break;m.push(h)}}else for(;f<=p;++f)for(l=o-1;l>=1;--l)if(!((h=f>0?l/n(-f):l*n(f))u)break;m.push(h)}2*m.length0?r[i-1]:e[0],i=r?[i[r-1],n]:[i[a-1],i[a]]},a.unknown=function(e){return arguments.length?(t=e,a):a},a.thresholds=function(){return i.slice()},a.copy=function(){return Fb().domain([e,n]).range(o).unknown(t)},Qg.apply(pb(a),arguments)}function Bb(){var t,e=[.5],n=[0,1],r=1;function i(i){return null!=i&&i<=i?n[Pt(e,i,0,r)]:t}return i.domain=function(t){return arguments.length?(e=Array.from(t),r=Math.min(e.length,n.length-1),i):e.slice()},i.range=function(t){return arguments.length?(n=Array.from(t),r=Math.min(e.length,n.length-1),i):n.slice()},i.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Bb().domain(e).range(n).unknown(t)},Qg.apply(i,arguments)}var zb=1e3,Ub=6e4,Vb=36e5,qb=864e5,Kb=6048e5,Hb=31536e6,$b=new Date,Wb=new Date;function Gb(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e0))return s;do{s.push(a=new Date(+n)),e(n,o),t(n)}while(a=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return $b.setTime(+e),Wb.setTime(+r),t($b),t(Wb),Math.floor(n($b,Wb))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Yb=Gb((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));Yb.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Gb((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Yb:null};var Qb=Yb.range,Xb=Gb((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*zb)}),(function(t,e){return(e-t)/zb}),(function(t){return t.getUTCSeconds()})),Zb=Xb.range,Jb=Gb((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*zb)}),(function(t,e){t.setTime(+t+e*Ub)}),(function(t,e){return(e-t)/Ub}),(function(t){return t.getMinutes()})),t_=Jb.range,e_=Gb((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*Ub)}),(function(t,e){return(e-t)/Ub}),(function(t){return t.getUTCMinutes()})),n_=e_.range,r_=Gb((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*zb-t.getMinutes()*Ub)}),(function(t,e){t.setTime(+t+e*Vb)}),(function(t,e){return(e-t)/Vb}),(function(t){return t.getHours()})),i_=r_.range,o_=Gb((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*Vb)}),(function(t,e){return(e-t)/Vb}),(function(t){return t.getUTCHours()})),a_=o_.range,s_=Gb((function(t){return t.setHours(0,0,0,0)}),(function(t,e){return t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ub)/qb}),(function(t){return t.getDate()-1})),u_=s_.range,c_=Gb((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/qb}),(function(t){return t.getUTCDate()-1})),l_=c_.range,h_=Gb((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/qb}),(function(t){return Math.floor(t/qb)})),f_=h_.range;function p_(t){return Gb((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ub)/Kb}))}var d_=p_(0),m_=p_(1),y_=p_(2),v_=p_(3),g_=p_(4),b_=p_(5),__=p_(6),w_=d_.range,x_=m_.range,k_=y_.range,E_=v_.range,S_=g_.range,T_=b_.range,A_=__.range;function O_(t){return Gb((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Kb}))}var N_=O_(0),P_=O_(1),C_=O_(2),L_=O_(3),R_=O_(4),I_=O_(5),D_=O_(6),M_=N_.range,j_=P_.range,F_=C_.range,B_=L_.range,z_=R_.range,U_=I_.range,V_=D_.range,q_=Gb((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),K_=q_.range,H_=Gb((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),$_=H_.range,W_=Gb((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));W_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Gb((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var G_=W_.range,Y_=Gb((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Y_.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Gb((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var Q_=Y_.range;function X_(t,e,n,r,i,o){var a=[[Xb,1,zb],[Xb,5,5e3],[Xb,15,15e3],[Xb,30,3e4],[o,1,Ub],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,Vb],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,qb],[r,2,1728e5],[n,1,Kb],[e,1,2592e6],[e,3,7776e6],[t,1,Hb]];function s(e,n,r){var i=Math.abs(n-e)/r,o=kt((function(t){return k(t,3)[2]})).right(a,i);if(o===a.length)return t.every(Oe(e/Hb,n/Hb,r));if(0===o)return Yb.every(Math.max(Oe(e,n,r),1));var s=k(a[i/a[o-1][2]=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Ox,s:Nx,S:Yw,u:Qw,U:Xw,V:Jw,w:tx,W:ex,x:null,X:null,y:nx,Y:ix,Z:ax,"%":Ax},_={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:sx,e:sx,f:fx,g:kx,G:Sx,H:ux,I:cx,j:lx,L:hx,m:px,M:dx,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Ox,s:Nx,S:mx,u:yx,U:vx,V:bx,w:_x,W:wx,x:null,X:null,y:xx,Y:Ex,Z:Tx,"%":Ax},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:Cw,e:Cw,f:jw,g:Aw,G:Tw,H:Rw,I:Rw,j:Lw,L:Mw,m:Pw,M:Iw,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:Nw,Q:Bw,s:zw,S:Dw,u:xw,U:kw,V:Ew,w:ww,W:Sw,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:Aw,Y:Tw,Z:Ow,"%":Fw};function x(t,e){return function(n){var r,i,o,a=[],s=-1,u=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=ow(aw(o.y,0,1))).getUTCDay(),r=i>4||0===i?P_.ceil(r):P_(r),r=c_.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=iw(aw(o.y,0,1))).getDay(),r=i>4||0===i?m_.ceil(r):m_(r),r=s_.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?ow(aw(o.y,0,1)).getUTCDay():iw(aw(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,ow(o)):iw(o)}}function E(t,e,n,r){for(var i,o,a=0,s=e.length,u=n.length;a=u)return-1;if(37===(i=e.charCodeAt(a++))){if(i=e.charAt(a++),!(o=w[i in pw?e.charAt(a++):i])||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return b.x=x(n,b),b.X=x(r,b),b.c=x(e,b),_.x=x(n,_),_.X=x(r,_),_.c=x(e,_),{format:function(t){var e=x(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=k(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=x(t+="",_);return e.toString=function(){return t},e},utcParse:function(t){var e=k(t+="",!0);return e.toString=function(){return t},e}}}var uw,cw,lw,hw,fw,pw={"-":"",_:" ",0:"0"},dw=/^\s*\d+/,mw=/^%/,yw=/[\\^$*+?|[\]().{}]/g;function vw(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o68?1900:2e3),n+r[0].length):-1}function Ow(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Nw(t,e,n){var r=dw.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Pw(t,e,n){var r=dw.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Cw(t,e,n){var r=dw.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Lw(t,e,n){var r=dw.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Rw(t,e,n){var r=dw.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Iw(t,e,n){var r=dw.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Dw(t,e,n){var r=dw.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Mw(t,e,n){var r=dw.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function jw(t,e,n){var r=dw.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Fw(t,e,n){var r=mw.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Bw(t,e,n){var r=dw.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function zw(t,e,n){var r=dw.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Uw(t,e){return vw(t.getDate(),e,2)}function Vw(t,e){return vw(t.getHours(),e,2)}function qw(t,e){return vw(t.getHours()%12||12,e,2)}function Kw(t,e){return vw(1+s_.count(W_(t),t),e,3)}function Hw(t,e){return vw(t.getMilliseconds(),e,3)}function $w(t,e){return Hw(t,e)+"000"}function Ww(t,e){return vw(t.getMonth()+1,e,2)}function Gw(t,e){return vw(t.getMinutes(),e,2)}function Yw(t,e){return vw(t.getSeconds(),e,2)}function Qw(t){var e=t.getDay();return 0===e?7:e}function Xw(t,e){return vw(d_.count(W_(t)-1,t),e,2)}function Zw(t){var e=t.getDay();return e>=4||0===e?g_(t):g_.ceil(t)}function Jw(t,e){return t=Zw(t),vw(g_.count(W_(t),t)+(4===W_(t).getDay()),e,2)}function tx(t){return t.getDay()}function ex(t,e){return vw(m_.count(W_(t)-1,t),e,2)}function nx(t,e){return vw(t.getFullYear()%100,e,2)}function rx(t,e){return vw((t=Zw(t)).getFullYear()%100,e,2)}function ix(t,e){return vw(t.getFullYear()%1e4,e,4)}function ox(t,e){var n=t.getDay();return vw((t=n>=4||0===n?g_(t):g_.ceil(t)).getFullYear()%1e4,e,4)}function ax(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+vw(e/60|0,"0",2)+vw(e%60,"0",2)}function sx(t,e){return vw(t.getUTCDate(),e,2)}function ux(t,e){return vw(t.getUTCHours(),e,2)}function cx(t,e){return vw(t.getUTCHours()%12||12,e,2)}function lx(t,e){return vw(1+c_.count(Y_(t),t),e,3)}function hx(t,e){return vw(t.getUTCMilliseconds(),e,3)}function fx(t,e){return hx(t,e)+"000"}function px(t,e){return vw(t.getUTCMonth()+1,e,2)}function dx(t,e){return vw(t.getUTCMinutes(),e,2)}function mx(t,e){return vw(t.getUTCSeconds(),e,2)}function yx(t){var e=t.getUTCDay();return 0===e?7:e}function vx(t,e){return vw(N_.count(Y_(t)-1,t),e,2)}function gx(t){var e=t.getUTCDay();return e>=4||0===e?R_(t):R_.ceil(t)}function bx(t,e){return t=gx(t),vw(R_.count(Y_(t),t)+(4===Y_(t).getUTCDay()),e,2)}function _x(t){return t.getUTCDay()}function wx(t,e){return vw(P_.count(Y_(t)-1,t),e,2)}function xx(t,e){return vw(t.getUTCFullYear()%100,e,2)}function kx(t,e){return vw((t=gx(t)).getUTCFullYear()%100,e,2)}function Ex(t,e){return vw(t.getUTCFullYear()%1e4,e,4)}function Sx(t,e){var n=t.getUTCDay();return vw((t=n>=4||0===n?R_(t):R_.ceil(t)).getUTCFullYear()%1e4,e,4)}function Tx(){return"+0000"}function Ax(){return"%"}function Ox(t){return+t}function Nx(t){return Math.floor(+t/1e3)}function Px(t){return uw=sw(t),cw=uw.format,lw=uw.parse,hw=uw.utcFormat,fw=uw.utcParse,uw}function Cx(t){return new Date(t)}function Lx(t){return t instanceof Date?+t:+new Date(+t)}function Rx(t,e,n,r,i,o,a,s,u,c){var l=hb(),h=l.invert,f=l.domain,p=c(".%L"),d=c(":%S"),m=c("%I:%M"),y=c("%I %p"),v=c("%a %d"),g=c("%b %d"),b=c("%B"),_=c("%Y");function w(t){return(u(t)1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return fE.h=360*t-100,fE.s=1.5-1.5*e,fE.l=.8-.9*e,fE+""}var dE=Ii(),mE=Math.PI/3,yE=2*Math.PI/3;function vE(t){var e;return t=(.5-t)*Math.PI,dE.r=255*(e=Math.sin(t))*e,dE.g=255*(e=Math.sin(t+mE))*e,dE.b=255*(e=Math.sin(t+yE))*e,dE+""}function gE(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"}function bE(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var _E=bE(Qx("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),wE=bE(Qx("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),xE=bE(Qx("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),kE=bE(Qx("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function EE(t){return oi(Hr(t).call(document.documentElement))}var SE=0;function TE(){return new AE}function AE(){this._="@"+(++SE).toString(36)}function OE(t,e){return t.target&&(t=vo(t),void 0===e&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,(function(t){return go(t,e)}))}function NE(t){return"string"==typeof t?new ni([document.querySelectorAll(t)],[document.documentElement]):new ni([Gn(t)],ei)}function PE(t){return function(){return t}}AE.prototype=TE.prototype={constructor:AE,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var CE=Math.abs,LE=Math.atan2,RE=Math.cos,IE=Math.max,DE=Math.min,ME=Math.sin,jE=Math.sqrt,FE=1e-12,BE=Math.PI,zE=BE/2,UE=2*BE;function VE(t){return t>=1?zE:t<=-1?-zE:Math.asin(t)}function qE(t){var e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{var r=Math.floor(n);if(!(r>=0))throw new RangeError("invalid digits: ".concat(n));e=r}return t},function(){return new Ns(e)}}function KE(t){return t.innerRadius}function HE(t){return t.outerRadius}function $E(t){return t.startAngle}function WE(t){return t.endAngle}function GE(t){return t&&t.padAngle}function YE(t,e,n,r,i,o,a){var s=t-n,u=e-r,c=(a?o:-o)/jE(s*s+u*u),l=c*u,h=-c*s,f=t+l,p=e+h,d=n+l,m=r+h,y=(f+d)/2,v=(p+m)/2,g=d-f,b=m-p,_=g*g+b*b,w=i-o,x=f*m-d*p,k=(b<0?-1:1)*jE(IE(0,w*w*_-x*x)),E=(x*b-g*k)/_,S=(-x*g-b*k)/_,T=(x*b+g*k)/_,A=(-x*g+b*k)/_,O=E-y,N=S-v,P=T-y,C=A-v;return O*O+N*N>P*P+C*C&&(E=T,S=A),{cx:E,cy:S,x01:-l,y01:-h,x11:E*(i/w-1),y11:S*(i/w-1)}}function QE(){var t=KE,e=HE,n=PE(0),r=null,i=$E,o=WE,a=GE,s=null,u=qE(c);function c(){var c,l,h,f=+t.apply(this,arguments),p=+e.apply(this,arguments),d=i.apply(this,arguments)-zE,m=o.apply(this,arguments)-zE,y=CE(m-d),v=m>d;if(s||(s=c=u()),pFE)if(y>UE-FE)s.moveTo(p*RE(d),p*ME(d)),s.arc(0,0,p,d,m,!v),f>FE&&(s.moveTo(f*RE(m),f*ME(m)),s.arc(0,0,f,m,d,v));else{var g,b,_=d,w=m,x=d,k=m,E=y,S=y,T=a.apply(this,arguments)/2,A=T>FE&&(r?+r.apply(this,arguments):jE(f*f+p*p)),O=DE(CE(p-f)/2,+n.apply(this,arguments)),N=O,P=O;if(A>FE){var C=VE(A/f*ME(T)),L=VE(A/p*ME(T));(E-=2*C)>FE?(x+=C*=v?1:-1,k-=C):(E=0,x=k=(d+m)/2),(S-=2*L)>FE?(_+=L*=v?1:-1,w-=L):(S=0,_=w=(d+m)/2)}var R=p*RE(_),I=p*ME(_),D=f*RE(k),M=f*ME(k);if(O>FE){var j,F=p*RE(w),B=p*ME(w),z=f*RE(x),U=f*ME(x);if(y1?0:h<-1?BE:Math.acos(h))/2),W=jE(j[0]*j[0]+j[1]*j[1]);N=DE(O,(f-W)/($-1)),P=DE(O,(p-W)/($+1))}else N=P=0}S>FE?P>FE?(g=YE(z,U,R,I,p,P,v),b=YE(F,B,D,M,p,P,v),s.moveTo(g.cx+g.x01,g.cy+g.y01),PFE&&E>FE?N>FE?(g=YE(D,M,F,B,f,-N,v),b=YE(R,I,z,U,f,-N,v),s.lineTo(g.cx+g.x01,g.cy+g.y01),N=h;--f)s.point(v[f],g[f]);s.lineEnd(),s.areaEnd()}y&&(v[l]=+t(p,l,c),g[l]=+e(p,l,c),s.point(r?+r(p,l,c):v[l],n?+n(p,l,c):g[l]))}if(d)return s=null,d+""||null}function l(){return rS().defined(i).curve(a).context(o)}return t="function"==typeof t?t:void 0===t?eS:PE(+t),e="function"==typeof e?e:PE(void 0===e?0:+e),n="function"==typeof n?n:void 0===n?nS:PE(+n),c.x=function(e){return arguments.length?(t="function"==typeof e?e:PE(+e),r=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:PE(+e),c):t},c.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:PE(+t),c):r},c.y=function(t){return arguments.length?(e="function"==typeof t?t:PE(+t),n=null,c):e},c.y0=function(t){return arguments.length?(e="function"==typeof t?t:PE(+t),c):e},c.y1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:PE(+t),c):n},c.lineX0=c.lineY0=function(){return l().x(t).y(e)},c.lineY1=function(){return l().x(t).y(n)},c.lineX1=function(){return l().x(r).y(e)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:PE(!!t),c):i},c.curve=function(t){return arguments.length?(a=t,null!=o&&(s=a(o)),c):a},c.context=function(t){return arguments.length?(null==t?o=s=null:s=a(o=t),c):o},c}function oS(t,e){return et?1:e>=t?0:NaN}function aS(t){return t}function sS(){var t=aS,e=oS,n=null,r=PE(0),i=PE(UE),o=PE(0);function a(a){var s,u,c,l,h,f=(a=ZE(a)).length,p=0,d=new Array(f),m=new Array(f),y=+r.apply(this,arguments),v=Math.min(UE,Math.max(-UE,i.apply(this,arguments)-y)),g=Math.min(Math.abs(v)/f,o.apply(this,arguments)),b=g*(v<0?-1:1);for(s=0;s0&&(p+=h);for(null!=e?d.sort((function(t,n){return e(m[t],m[n])})):null!=n&&d.sort((function(t,e){return n(a[t],a[e])})),s=0,c=p?(v-f*b)/p:0;s0?h*c:0)+b,m[u]={data:a[u],index:s,value:h,startAngle:y,endAngle:l,padAngle:g};return m}return a.value=function(e){return arguments.length?(t="function"==typeof e?e:PE(+e),a):t},a.sortValues=function(t){return arguments.length?(e=t,n=null,a):e},a.sort=function(t){return arguments.length?(n=t,e=null,a):n},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:PE(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:PE(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:PE(+t),a):o},a}JE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var uS=lS(tS);function cS(t){this._curve=t}function lS(t){function e(e){return new cS(t(e))}return e._curve=t,e}function hS(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(lS(t)):e()._curve},t}function fS(){return hS(rS().curve(uS))}function pS(){var t=iS().curve(uS),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return hS(n())},delete t.lineX0,t.lineEndAngle=function(){return hS(r())},delete t.lineX1,t.lineInnerRadius=function(){return hS(i())},delete t.lineY0,t.lineOuterRadius=function(){return hS(o())},delete t.lineY1,t.curve=function(t){return arguments.length?e(lS(t)):e()._curve},t}function dS(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}cS.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var mS=function(){return I((function t(e,n){L(this,t),this._context=e,this._x=n}),[{key:"areaStart",value:function(){this._line=0}},{key:"areaEnd",value:function(){this._line=NaN}},{key:"lineStart",value:function(){this._point=0}},{key:"lineEnd",value:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}},{key:"point",value:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}])}(),yS=function(){return I((function t(e){L(this,t),this._context=e}),[{key:"lineStart",value:function(){this._point=0}},{key:"lineEnd",value:function(){}},{key:"point",value:function(t,e){if(t=+t,e=+e,0===this._point)this._point=1;else{var n,r,i=dS(this._x0,this._y0),o=dS(this._x0,this._y0=(this._y0+e)/2),a=dS(t,this._y0),s=dS(t,e);(n=this._context).moveTo.apply(n,M(i)),(r=this._context).bezierCurveTo.apply(r,M(o).concat(M(a),M(s)))}this._x0=t,this._y0=e}}])}();function vS(t){return new mS(t,!0)}function gS(t){return new mS(t,!1)}function bS(t){return new yS(t)}function _S(t){return t.source}function wS(t){return t.target}function xS(t){var e=_S,n=wS,r=eS,i=nS,o=null,a=null,s=qE(u);function u(){var u,c=XE.call(arguments),l=e.apply(this,c),h=n.apply(this,c);if(null==o&&(a=t(u=s())),a.lineStart(),c[0]=l,a.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,a.point(+r.apply(this,c),+i.apply(this,c)),a.lineEnd(),u)return a=null,u+""||null}return u.source=function(t){return arguments.length?(e=t,u):e},u.target=function(t){return arguments.length?(n=t,u):n},u.x=function(t){return arguments.length?(r="function"==typeof t?t:PE(+t),u):r},u.y=function(t){return arguments.length?(i="function"==typeof t?t:PE(+t),u):i},u.context=function(e){return arguments.length?(null==e?o=a=null:a=t(o=e),u):o},u}function kS(){return xS(vS)}function ES(){return xS(gS)}function SS(){var t=xS(bS);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var TS=jE(3),AS={draw:function(t,e){var n=.59436*jE(e+DE(e/28,.75)),r=n/2,i=r*TS;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-i,-r),t.lineTo(i,r),t.moveTo(-i,r),t.lineTo(i,-r)}},OS={draw:function(t,e){var n=jE(e/BE);t.moveTo(n,0),t.arc(0,0,n,0,UE)}},NS={draw:function(t,e){var n=jE(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},PS=jE(1/3),CS=2*PS,LS={draw:function(t,e){var n=jE(e/CS),r=n*PS;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},RS={draw:function(t,e){var n=.62625*jE(e);t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},IS={draw:function(t,e){var n=.87559*jE(e-DE(e/7,2));t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},DS={draw:function(t,e){var n=jE(e),r=-n/2;t.rect(r,r,n,n)}},MS={draw:function(t,e){var n=.4431*jE(e);t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}},jS=ME(BE/10)/ME(7*BE/10),FS=ME(UE/10)*jS,BS=-RE(UE/10)*jS,zS={draw:function(t,e){var n=jE(.8908130915292852*e),r=FS*n,i=BS*n;t.moveTo(0,-n),t.lineTo(r,i);for(var o=1;o<5;++o){var a=UE*o/5,s=RE(a),u=ME(a);t.lineTo(u*n,-s*n),t.lineTo(s*r-u*i,u*r+s*i)}t.closePath()}},US=jE(3),VS={draw:function(t,e){var n=-jE(e/(3*US));t.moveTo(0,2*n),t.lineTo(-US*n,-n),t.lineTo(US*n,-n),t.closePath()}},qS=jE(3),KS={draw:function(t,e){var n=.6824*jE(e),r=n/2,i=n*qS/2;t.moveTo(0,-n),t.lineTo(i,r),t.lineTo(-i,r),t.closePath()}},HS=-.5,$S=jE(3)/2,WS=1/jE(12),GS=3*(WS/2+1),YS={draw:function(t,e){var n=jE(e/GS),r=n/2,i=n*WS,o=r,a=n*WS+n,s=-o,u=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(s,u),t.lineTo(HS*r-$S*i,$S*r+HS*i),t.lineTo(HS*o-$S*a,$S*o+HS*a),t.lineTo(HS*s-$S*u,$S*s+HS*u),t.lineTo(HS*r+$S*i,HS*i-$S*r),t.lineTo(HS*o+$S*a,HS*a-$S*o),t.lineTo(HS*s+$S*u,HS*u-$S*s),t.closePath()}},QS={draw:function(t,e){var n=.6189*jE(e-DE(e/6,1.7));t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}},XS=[OS,NS,LS,DS,zS,VS,YS],ZS=[OS,IS,QS,KS,AS,MS,RS];function JS(t,e){var n=null,r=qE(i);function i(){var i;if(n||(n=i=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return t="function"==typeof t?t:PE(t||OS),e="function"==typeof e?e:PE(void 0===e?64:+e),i.type=function(e){return arguments.length?(t="function"==typeof e?e:PE(e),i):t},i.size=function(t){return arguments.length?(e="function"==typeof t?t:PE(+t),i):e},i.context=function(t){return arguments.length?(n=null==t?null:t,i):n},i}function tT(){}function eT(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function nT(t){this._context=t}function rT(t){return new nT(t)}function iT(t){this._context=t}function oT(t){return new iT(t)}function aT(t){this._context=t}function sT(t){return new aT(t)}function uT(t,e){this._basis=new nT(t),this._beta=e}nT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:eT(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:eT(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},iT.prototype={areaStart:tT,areaEnd:tT,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:eT(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},aT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:eT(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},uT.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],a=t[n]-i,s=e[n]-o,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*a),this._beta*e[u]+(1-this._beta)*(o+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var cT=function t(e){function n(t){return 1===e?new nT(t):new uT(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function lT(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function hT(t,e){this._context=t,this._k=(1-e)/6}hT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:lT(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:lT(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var fT=function t(e){function n(t){return new hT(t,e)}return n.tension=function(e){return t(+e)},n}(0);function pT(t,e){this._context=t,this._k=(1-e)/6}pT.prototype={areaStart:tT,areaEnd:tT,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:lT(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var dT=function t(e){function n(t){return new pT(t,e)}return n.tension=function(e){return t(+e)},n}(0);function mT(t,e){this._context=t,this._k=(1-e)/6}mT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:lT(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yT=function t(e){function n(t){return new mT(t,e)}return n.tension=function(e){return t(+e)},n}(0);function vT(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>FE){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>FE){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-e*t._l12_2a)/l,a=(a*c+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function gT(t,e){this._context=t,this._alpha=e}gT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:vT(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bT=function t(e){function n(t){return e?new gT(t,e):new hT(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function _T(t,e){this._context=t,this._alpha=e}_T.prototype={areaStart:tT,areaEnd:tT,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:vT(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var wT=function t(e){function n(t){return e?new _T(t,e):new pT(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function xT(t,e){this._context=t,this._alpha=e}xT.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:vT(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kT=function t(e){function n(t){return e?new xT(t,e):new mT(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ET(t){this._context=t}function ST(t){return new ET(t)}function TT(t){return t<0?-1:1}function AT(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(TT(o)+TT(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function OT(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function NT(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,i+s*e,o-s,a-s*n,o,a)}function PT(t){this._context=t}function CT(t){this._context=new LT(t)}function LT(t){this._context=t}function RT(t){return new PT(t)}function IT(t){return new CT(t)}function DT(t){this._context=t}function MT(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e1)for(var n,r,i,o=1,a=t[e[0]],s=a.length;o=0;)n[e]=e;return n}function KT(t,e){return t[e]}function HT(t){var e=[];return e.key=t,e}function $T(){var t=PE([]),e=qT,n=VT,r=KT;function i(i){var o,a,s,u=Array.from(t.apply(this,arguments),HT),c=u.length,l=-1,h=j(i);try{for(h.s();!(s=h.n()).done;){var f=s.value;for(o=0,++l;o0){for(var n,r,i,o=0,a=t[0].length;o0)for(var n,r,i,o,a,s,u=0,c=t[e[0]].length;u0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)}function YT(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],o=i.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,o=0,a=1;ao&&(o=e,r=n);return r}function JT(t){var e=t.map(tA);return qT(t).sort((function(t,n){return e[t]-e[n]}))}function tA(t){for(var e,n=0,r=-1,i=t.length;++r=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var iA="%Y-%m-%dT%H:%M:%S.%LZ",oA=Date.prototype.toISOString?function(t){return t.toISOString()}:hw(iA),aA=oA,sA=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:fw(iA),uA=sA;function cA(t,e,n){var r=new Lo,i=e;return null==e?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(t,e,n){e=+e,n=null==n?Po():+n,r._restart((function o(a){a+=i,r._restart(o,i+=e,n),t(a)}),e,n)},r.restart(t,e,n),r)}var lA=function(t){return function(){return t}};function hA(t,e){var n=e.sourceEvent,r=e.target,i=e.transform,o=e.dispatch;Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function fA(t,e,n){this.k=t,this.x=e,this.y=n}fA.prototype={constructor:fA,scale:function(t){return 1===t?this:new fA(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new fA(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pA=new fA(1,0,0);function dA(t){for(;!t.__zoom;)if(!(t=t.parentNode))return pA;return t.__zoom}function mA(t){t.stopImmediatePropagation()}function yA(t){t.preventDefault(),t.stopImmediatePropagation()}function vA(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function gA(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function bA(){return this.__zoom||pA}function _A(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function wA(){return navigator.maxTouchPoints||"ontouchstart"in this}function xA(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function kA(){var t,e,n,r=vA,i=gA,o=xA,a=_A,s=wA,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],l=250,h=sg,f=Hn("start","zoom","end"),p=500,d=150,m=0,y=10;function v(t){t.property("__zoom",bA).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",T).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new fA(e,t.x,t.y)}function b(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new fA(t.k,r,i)}function _(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,e,n,r){t.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,a=x(t,o).event(r),s=i.apply(t,o),u=null==n?_(s):"function"==typeof n?n.apply(t,o):n,c=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),l=t.__zoom,f="function"==typeof e?e.apply(t,o):e,p=h(l.invert(u).concat(c/l.k),f.invert(u).concat(c/f.k));return function(t){if(1===t)t=f;else{var e=p(t),n=c/e[2];t=new fA(n,u[0]-e[0]*n,u[1]-e[1]*n)}a.zoom(null,t)}}))}function x(t,e,n){return!n&&t.__zooming||new k(t,e)}function k(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function E(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i1?e-1:0),a=1;am}u.event(t).zoom("mouse",o(b(u.that.__zoom,u.mouse[0]=go(t,s),u.mouse[1]),u.extent,c))}),!0).on("mouseup.zoom",(function(t){l.on("mousemove.zoom mouseup.zoom",null),hi(t.view,u.moved),yA(t),u.event(t).end()}),!0),h=go(t,s),f=t.clientX,p=t.clientY;li(t.view),mA(t),u.mouse=[h,this.__zoom.invert(h)],Xo(this),u.start()}}function T(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),a=1;a0?oi(this).transition().duration(l).call(w,p,u,t):oi(this).call(v.transform,p,u,t)}}function A(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a1?e-1:0),r=1;r1?r-1:0),o=1;o g").attr("transform","".concat(i," ").concat(o))}},{key:"getSourcesId",value:function(t){return 0===this.pluginData.scene.selection.length?[t.subject.datum().data.id]:this.pluginData.scene.selection.includes(t.subject.datum().data.id)?this.pluginData.scene.selection:[t.subject.datum().data.id]}},{key:"getSourcePosition",value:function(t){var e=this.viewport.select(".".concat(t," .model"));return{x:parseFloat(e.attr("x")),y:parseFloat(e.attr("y"))}}},{key:"getTargetsId",value:function(t){var e=this,n=t.subject.datum().data.id,r=t.sourceEvent,i=r.clientX,o=r.clientY,a=[];return this.viewport.selectAll("g.component.container:not(.".concat(n,")")).each((function(t){var n=e.viewport.select(".".concat(t.data.id," rect.background")).node().getBoundingClientRect(),r=n.x,s=n.y,u=n.width,c=n.height;if(i>=r&&i<=r+u&&o>=s&&o<=s+c){for(var l=parseInt(e.viewport.select(".".concat(t.data.id)).attr("depth"),10)-1;a.length<=l;)a.push([]);a[l].push(t.data.id)}})),a.flat().reverse()}},{key:"getTargetId",value:function(t){var e=this,n=t.subject.datum().data.id,r=t.sourceEvent,i=r.clientX,o=r.clientY,a=[];return this.viewport.selectAll("g.component:not(.".concat(n,")")).each((function(t){var n=e.viewport.select(".".concat(t.data.id," rect.background")).node().getBoundingClientRect(),r=n.x,s=n.y,u=n.width,c=n.height;if(i>=r&&i<=r+u&&o>=s&&o<=s+c){for(var l=parseInt(e.viewport.select(".".concat(t.data.id)).attr("depth"),10)-1;a.length<=l;)a.push([]);a[l].push(t.data.id)}})),a.flat().reverse()[0]}},{key:"getTransform",value:function(t,e){var n=this.viewport.select(t).node().getBoundingClientRect(),r=n.x,i=n.y,o=this.viewport.select(e).node().getBoundingClientRect();return{dx:r-o.x,dy:i-o.y}}}],e&&function(t,e){for(var n=0;nh&&r.attr("width",p),d>f&&r.attr("height",d);var m=this.viewport.select(".".concat(e.data.id," .components-zone")),y=m.node().getBoundingClientRect();return h=(a-y.x)/n,f=(s-y.y)/n,p=(c-y.x)/n,d=(l-y.y)/n,p>h&&m.attr("width",p),d>f&&m.attr("height",d),!1}},{key:"finalize",value:function(t){var e=t.subject.datum().data.id,n=this.viewport.select(".".concat(e," .model")),r=this.pluginData.getComponentById(e);return r.drawOption.width=parseFloat(n.attr("width")),r.drawOption.height=parseFloat(n.attr("height")),this.pluginData.emitEvent({components:[e],type:"Drawer",action:"resize",status:"success"}),!0}},{key:"getMaxPosition",value:function(t){var e=this,n=0,r=0;return this.pluginData.getChildren(t).forEach((function(t){var i=e.viewport.select(".".concat(t.id," .model")).node().getBoundingClientRect(),o=i.x,a=i.y,s=o+i.width,u=a+i.height;n=s>n?s:n,r=u>r?u:r})),{x:n,y:r}}}],r&&function(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&this.pluginData.emitEvent({components:o,type:"Drawer",action:"move",status:"success"}),a.length>0&&this.pluginData.emitEvent({components:a,type:"Drawer",action:"resize",status:"success"})}},{key:"getNodes",value:function(){var t=this,e={id:"root",parent:null,children:[],depth:0,type:"default",isContainer:!0,margin:this.pluginData.configuration.rootContainer.margin,gap:this.pluginData.configuration.rootContainer.gap},n=new Map(this.pluginData.components.map((function(e){return[e.id,t.createNode(e)]})));return n.set("root",e),n.forEach((function(t){if(t.parent){var e=n.get(t.parent);t.parent=e,e.children.push(t)}})),n}},{key:"createNode",value:function(t){return{id:t.id,parent:t.getContainerId()||"root",type:t.definition.displayType||"default",direction:t.definition.workflowDirection,children:[],depth:this.pluginData.getComponentDepth(t.id)+1,isContainer:t.definition.isContainer,width:t.definition.defaultWidth,height:t.definition.defaultHeight,minWidth:t.definition.minWidth,minHeight:t.definition.minHeight,reservedWidth:t.definition.reservedWidth,reservedHeight:t.definition.reservedHeight,margin:t.definition.margin,gap:t.definition.gap,x:t.drawOption.x,y:t.drawOption.y}}},{key:"generateLayout",value:function(t,e,n){var r=this;e.children.forEach((function(e){r.generateLayout(t,e)})),e.isContainer&&"default"===e.type?this.generateDefaultLayout(t,e,n):e.isContainer&&this.generateWorkflowLayout(t,e)}},{key:"generateDefaultLayout",value:function(t,e,n){this.text=0;var r=[],i=[],o=e.margin,a=e.gap,s=e.minWidth,u=e.minHeight,c=e.reservedWidth,l=e.reservedHeight,h=0,f=0;e.children.forEach((function(t){t.x&&t.y&&n?(r.push(t),h=t.x+t.width>h?t.x+t.width:h,f=t.y+t.height>f?t.y+t.height:f):i.push(t)}));for(var p,d=0,m=0,y=this.getPoints(d,o,a);i.length>0;)p||(p=i[0]),0===y.length&&(m=0,d+=1,y=this.getPoints(d,o,a)),y.length>0&&this.canBePlace(r,p,y[m])&&(p.x=y[m].x,p.y=y[m].y,h=p.x+p.width>h?p.x+p.width:h,f=p.y+p.height>f?p.y+p.height:f,r.push(p),i.shift(),p=null),(m+=1)>=y.length&&(m=0,d+=1,y=this.getPoints(d,o,a));e.width=Math.max(h+o+c,s),e.height=Math.max(f+o+l,u)}},{key:"canBePlace",value:function(t,e,n){return t.every((function(t){var r=t.x,i=t.y,o=t.width,a=t.height,s=n.x+e.widthr+o,c=n.y+e.heighti+a;return s||u||c||l}))}},{key:"getPoints",value:function(t,e,n){if(0===t)return[{x:e,y:e}];for(var r=e+n*t,i=e+n*t,o=[],a=e,s=e;s<=r&&(o.push({x:s,y:i}),(s+=n)!==r||i!==a);)o.push({x:r,y:a}),a+=n;return o}},{key:"generateWorkflowLayout",value:function(t,e){"vertical"===e.direction?this.generateVerticalWorkflowLayout(t,e):this.generateHorizontalWorkflowLayout(t,e)}},{key:"generateHorizontalWorkflowLayout",value:function(t,e){var n=e.margin,r=e.gap,i=e.minWidth,o=e.minHeight,a=e.reservedWidth,s=e.reservedHeight,u=n,c=0;e.children.forEach((function(t){t.x=u,t.y=n,u=t.x+t.width+r,t.height>c&&(c=t.height)})),e.width=Math.max(u-r+n+a,i),e.height=Math.max(c+2*n+s,o)}},{key:"generateVerticalWorkflowLayout",value:function(t,e){var n=e.margin,r=e.gap,i=e.minWidth,o=e.minHeight,a=e.reservedWidth,s=e.reservedHeight,u=n,c=0;e.children.forEach((function(t){t.x=n,t.y=u,u=t.y+t.height+r,t.width>c&&(c=t.width)})),e.width=Math.max(c+2*n+a,i),e.height=Math.max(u-r+n+s,o)}},{key:"resize",value:function(t){var e=this.pluginData.getComponentById(t);if(e.definition.isContainer){var n=0,r=0;this.pluginData.getChildren(t).forEach((function(t){var e=t.drawOption.x+t.drawOption.width,i=t.drawOption.y+t.drawOption.height;e>n&&(n=e),i>r&&(r=i)}));var i=e.definition,o=i.minWidth,a=i.minHeight,s=i.reservedWidth,u=i.reservedHeight,c=i.margin,l=Math.max(n+2*c+s,o),h=Math.max(r+2*c+u,a);l===e.drawOption.width&&h===e.drawOption.height||(e.drawOption.width=l,e.drawOption.height=h,this.pluginData.emitEvent({components:[t],type:"Drawer",action:"resize",status:"success"}))}}}],r&&function(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),N(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:C(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},e}function EN(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}function SN(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){EN(o,r,i,a,s,"next",t)}function s(t){EN(o,r,i,a,s,"throw",t)}a(void 0)}))}}function TN(t){var e=function(t,e){if("object"!=gN(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=gN(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==gN(e)?e:e+""}var AN=function(){return e=function e(n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.pluginData=n,this.componentRenderer=null,this.linkRenderer=null,this.layout=null,this.viewport=null,this.scene=null,this.d3=t,this.actions={deleteAction:null,dragComponent:null,dragScene:null,linkAction:null,menuAction:null,resizeComponent:null,toggleSelection:null,selectionAll:null,deselectionAll:null,zoom:null},this.states={linking:!1,menuOpening:!1,moving:!1,resizing:!1,selection:!1},this.readOnly=!1},n=[{key:"init",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.d3.select("#".concat(t)).selectAll(null).remove(),this.d3.select("#".concat(t)).html(""),this.viewport=this.d3.select("#".concat(t)),this.componentRenderer=new rN(this.pluginData,this.viewport,e),this.linkRenderer=new sN(this.pluginData,this.viewport,e),this.layout=new vN(this.pluginData,this.viewport),this.readOnly=e,this.clearActions(),this.readOnly&&(this.pluginData.scene.x=0,this.pluginData.scene.y=0,this.pluginData.scene.zoom=1),this.initActions(),this.initScene()}},{key:"clearActions",value:function(){this.actions.deleteAction=null,this.actions.dragComponent=null,this.actions.dragScene=null,this.actions.menuAction=null,this.actions.resizeComponent=null,this.actions.toggleSelection=null,this.actions.selectionAll=null,this.actions.deselectionAll=null,this.actions.zoom=null,this.viewport.on("wheel",null),this.d3.select("body").on("keydown",null).on("keyup",null),this.viewport.on(".drag",null)}},{key:"initActions",value:function(){var t=this;this.actions.deleteAction=new DA(this.pluginData,this.viewport,this.layout),this.actions.dragComponent=new qA(this.pluginData,this.viewport,this.layout),this.actions.dragScene=new QA(this.pluginData,this.viewport,this.layout),this.actions.link=new rO(this.pluginData,this.viewport,this.layout),this.actions.menuAction=new lO(this.pluginData,this.viewport,this.layout),this.actions.resizeComponent=new gO(this.pluginData,this.viewport,this.layout),this.actions.toggleSelection=new AO(this.pluginData,this.viewport,this.layout),this.actions.selectionAll=new VO(this.pluginData,this.viewport,this.layout),this.actions.deselectionAll=new IO(this.pluginData,this.viewport,this.layout),this.actions.zoom=new YO(this.pluginData,this.viewport,this.layout),this.viewport.on("wheel",(function(e){t.actions.zoom.execute(e)&&t.draw()})),this.readOnly||this.d3.select("body").on("keydown",(function(e){var n=!1;t.pluginData.keysBinding.selection.includes(e.key)&&(t.states.selection=!0),t.pluginData.keysBinding.deleteObject.includes(e.key)&&(n=t.actions.deleteAction.execute(e)),t.pluginData.keysBinding.selectAll.includes(e.key)&&(n=t.actions.selectionAll.execute(e)),t.pluginData.keysBinding.deselectAll.includes(e.key)&&(n=t.actions.deselectionAll.execute(e)),n&&t.draw()})).on("keyup",(function(e){var n=!1;t.pluginData.keysBinding.selection.includes(e.key)&&(t.states.selection=!1),t.pluginData.keysBinding.deleteObject.includes(e.key)&&(n=t.actions.deleteAction.finalize(e)),t.pluginData.keysBinding.selectAll.includes(e.key)&&(n=t.actions.selectionAll.finalize(e)),t.pluginData.keysBinding.deselectAll.includes(e.key)&&(n=t.actions.deselectionAll.finalize(e)),n&&t.draw()}));var e=this.d3.drag().subject((function(e){var n=e.sourceEvent.target.closest(".component");if(t.states.resizing=!!e.sourceEvent.target.closest(".resize-button"),t.states.menuOpening=!!e.sourceEvent.target.closest(".menu-button"),!n)return t.scene;var r=t.viewport.select(Array.from(n.classList).map((function(t){return".".concat(t)})).join(""));return t.states.linking=!!e.sourceEvent.target.closest(".anchor")&&t.pluginData.canHaveLink(r.datum().data.definition.type),r})).on("drag",(function(e){t.states.moving=!0;var n="scene"===e.subject.datum().data.id,r=!1;t.readOnly?t.actions.dragScene.execute(e):(n?r=t.actions.dragScene.execute(e):t.states.linking?(r=t.actions.link.execute(e),t.linkRenderer.render()):t.states.resizing?(r=t.actions.resizeComponent.execute(e),t.linkRenderer.render()):(r=t.actions.dragComponent.execute(e),t.linkRenderer.render()),r&&t.draw())})).on("end",function(){var e=SN(kN().mark((function e(n){var r,i,o,a,s,u,c;return kN().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.states.moving,i=t.states.selection,o=t.states.menuOpening,a=t.states.resizing,s=t.states.linking,u="scene"===n.subject.datum().data.id,c=!1,!t.readOnly){e.next=10;break}return u&&r&&t.actions.dragScene.finalize(n),e.abrupt("return");case 10:s?c=t.actions.link.finalize(n):r&&u?c=t.actions.dragScene.finalize(n):a?c=t.actions.resizeComponent.finalize(n):r&&!u?c=t.actions.dragComponent.finalize(n):!r&&o?c=t.actions.menuAction.finalize(n):r||u||!i||(c=t.actions.toggleSelection.finalize(n)),c&&t.draw(),t.states.moving=!1;case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());this.viewport.call(e)}},{key:"getScene",value:function(){return this.viewport.selectAll(".scene").data(this.getSceneData()).join("svg").attr("class","scene").attr("width","100%").attr("height","100%")}},{key:"initScene",value:function(){var t=this;this.scene=this.getScene(),this.scene.append("defs").html(Object.keys(this.pluginData.resources.markers).map((function(e){return t.pluginData.resources.markers[e]})).join(""));var e=this.pluginData.scene,n=e.x,r=e.y,i=e.zoom,o="translate(".concat(n," ").concat(r,") scale(").concat(i,")");this.scene.append("g").attr("class","components").attr("transform",o),this.scene.append("g").attr("class","links").attr("transform",o)}},{key:"draw",value:(r=SN(kN().mark((function t(){var e,n,r,i,o,a,s,u,c,l;return kN().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.scene=this.getScene(),this.componentRenderer.render("scene"),this.linkRenderer.render("scene"),this.readOnly){for(e=this.viewport.node().getBoundingClientRect(),n=e.width,r=e.height,i=this.viewport.select(".scene .components").node().getBBox(),o=i.width,a=i.height,s=n/os;)u*=.9;c=(n-o*u)/2,l=(r-a*u)/2,this.pluginData.scene.zoom=u,this.viewport.selectAll(".scene > g").attr("transform","translate(".concat(c," ").concat(l,") scale(").concat(u,")"))}case 4:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"arrangeComponentsPosition",value:function(t,e){this.layout.generateComponentsLayout(t,e)}},{key:"resize",value:function(t){this.layout.resize(t)}},{key:"getSceneData",value:function(){var t,e=this;return[this.d3.hierarchy(wN({id:"scene",name:"",children:(t=this.pluginData.components.filter((function(t){return null===t.getContainerId()})),function(t){if(Array.isArray(t))return bN(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return bN(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bN(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())},this.pluginData.scene),(function(t){return"scene"===t.id?t.children:e.pluginData.getChildren(t.id)}))]}},{key:"dropComponent",value:function(t,e){var n=e.target.closest(".component");if(t.drawOption.width=t.definition.width,t.drawOption.height=t.definition.height,!n){var r=this.viewport.select(".scene").node().getBoundingClientRect(),i=r.x,o=r.y;t.drawOption.x=(e.clientX-i-this.pluginData.scene.x)/this.pluginData.scene.zoom-t.definition.width/2,t.drawOption.y=(e.clientY-o-this.pluginData.scene.y)/this.pluginData.scene.zoom-t.definition.height/2}if(n.canContain(t.definition.type)){var a=this.viewport.select(".".concat(t.id,".container")).node().getBoundingClientRect(),s=a.x,u=a.y;t.drawOption.x=(e.clientX-s-this.pluginData.scene.x)/this.pluginData.scene.zoom-t.definition.width/2,t.drawOption.y=(e.clientY-u-this.pluginData.scene.y)/this.pluginData.scene.zoom-t.definition.height/2}}}],n&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[]).map((function(t){return t.path}))}},{key:"parseConfiguration",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"running",files:[e.path],data:{global:!1}});if(null!=e.content){var o=JSON.parse(e.content);o[t.path]?o[t.path][this.pluginData.name]?(Object.keys(o[t.path][this.pluginData.name]).forEach((function(e){var r=n.pluginData.getComponentByConfigurationKey(e);r&&o[t.path][n.pluginData.name][e]&&(r.drawOption=new K(o[t.path][n.pluginData.name][e]))})),this.pluginData.emitEvent({id:i,status:"success"})):this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_plugin_content",global:!1}}):this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_diagram_content",global:!1}})}else this.pluginData.emitEvent({id:i,status:"warning",data:{code:"no_content",global:!1}})}},{key:"isParsable",value:function(t){return null!=t}}],e&&function(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce((function(t,e){return t[e.path]="",t}),{});return this.renderFiles(t).forEach((function(t){e[t.path]=t.content})),Object.keys(e).map((function(t){return new _t({path:t,content:e[t]})}))}},{key:"renderFiles",value:function(){return[]}},{key:"renderConfiguration",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.pluginData.emitEvent({parent:r,type:"Render",action:"write",status:"running",files:[e.path],data:{global:!1}}),o=JSON.parse(e.content)||{};o[t.path]||(o[t.path]={}),o[t.path][this.pluginData.name]={},this.pluginData.components.filter((function(t){return t.drawOption})).forEach((function(e){var r=e.getConfigurationKey();o[t.path][n.pluginData.name][r]=e.drawOption})),e.content=JSON.stringify(o,(function(t,e){return null===e?void 0:e}),2),this.pluginData.emitEvent({id:i,status:"success"})}}],e&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"Error happened when trying to parse.",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"Error";return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=this,r=e,i=[o||"Error happened when trying to parse."],r=qN(r),t=function(t,e){if(e&&("object"===BN(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(n,UN()?Reflect.construct(r,i||[],qN(n).constructor):r.apply(n,i))).name="ParseError",t.startLine=a||0,t.startColumn=s||0,t.endLine=u||0,t.endColumn=c||0,t.severity=l||"Error",t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&VN(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(zN(Error));var HN=function(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:null,parentId:null,files:null,components:null,links:null,type:null,action:null,status:null,data:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.id,r=e.parentId,i=e.files,o=e.components,a=e.links,s=e.type,u=e.action,c=e.status,l=e.data;this.id=n||null,this.parentId=r||null,this.startDate=null,this.endDate=null,this.files=i||null,this.components=o||null,this.links=a||null,this.type=s||null,this.action=u||null,this.status=c||null,this.data=l||null})),$N=HN;function WN(t){return WN="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},WN(t)}function GN(t,e,n){return e=QN(e),function(t,e){if(e&&("object"===WN(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,YN()?Reflect.construct(e,n||[],QN(t).constructor):e.apply(t,n))}function YN(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(YN=function(){return!!t})()}function QN(t){return QN=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},QN(t)}function XN(t,e){return XN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},XN(t,e)}var ZN=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{anchorName:null};return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(t=GN(this,e,[n])).isTemporary=!0,t.anchorName=n.anchorName||null,t.endX=null,t.endY=null,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&XN(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(ft);function JN(t){return JN="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},JN(t)}function tP(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function eP(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:{name:null,version:null,components:[],variables:[],definitions:{components:[],links:[]},parseErrors:[],resources:{},margin:30,gap:50},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.name=n.name||null,this.version=n.version||null,this.components=n.components||[],this.scene=n.scene||{x:0,y:0,zoom:1,selection:[],selectionRef:null},this.keysBinding={moveSceneUp:["ArrowUp"],moveSceneDown:["ArrowDown"],moveSceneLeft:["ArrowLeft"],moveSceneRight:["ArrowRight"],moveComponentUp:[],moveComponentDown:[],moveComponentLeft:[],moveComponentRight:[],zoomIn:["+"],zoomOut:["-"],deleteObject:["Delete"],editComponent:[",","?"],selection:["Shift"],selectAll:["A"],deselectAll:["D"]},this.container={margin:n.margin||30,gap:n.gap||50},this.variables=n.variables||[],this.definitions={components:[],links:[]},n.definitions&&(this.definitions.components=n.definitions.components||[],this.definitions.links=n.definitions.links||[]),this.parseErrors=n.parseErrors||[],this.__eventIndex=0,this.eventManager=r,this.eventLogs=[],this.configuration=e,this.resources=n.resources||{icons:{},markers:{},links:{},models:{}},this.temporaryLink=null},e=[{key:"coreVersion",get:function(){return"0.23.0"}},{key:"getComponentById",value:function(t){return this.components.find((function(e){return e.id===t}))||null}},{key:"getComponentDepth",value:function(t){var e=this.getComponentById(t).getContainerId();return e?this.getComponentDepth(e)+1:0}},{key:"getComponentByConfigurationKey",value:function(t){return this.getComponentById(t)}},{key:"renameComponentExternalId",value:function(t,e){this.getComponentById(t).setExternalId(e)}},{key:"getComponentsByType",value:function(t){return this.components.filter((function(e){var n=e.definition;return n&&n.type===t}))}},{key:"addComponent",value:function(t,e){var n=this.generateComponentId();return this.components.push(new Z({id:n,name:n,definition:t,path:e})),n}},{key:"generateComponentId",value:function(){var t,e=this.components.map((function(t){return t.id})).filter((function(t){return new RegExp("".concat("id_","\\d+")).test(t)})).map((function(t){return parseInt(t.substring(3),10)})),n=0===e.length?1:Math.max.apply(Math,function(t){if(Array.isArray(t))return rP(t)}(t=e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return rP(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rP(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())+1;return"".concat("id_").concat(n)}},{key:"removeComponentById",value:function(t){var e=this;this.getChildren(t).forEach((function(t){return e.removeComponentById(t.id)})),this.components=this.components.filter((function(e){return e.id!==t})),this.components.forEach((function(e){e.removeLinkAttribute(t)}))}},{key:"removeLink",value:function(t){var e=t.source,n=t.target,r=t.definition.attributeRef;this.getComponentById(e).removeLinkAttribute(n,r)}},{key:"getLinks",value:function(){var t=this,e=[];return this.definitions.links.forEach((function(n){t.getComponentsByType(n.sourceRef).forEach((function(r){var i=r.getAttributeByName(n.attributeRef);i&&t.getLinkedComponentsIds(i).forEach((function(t){return e.push(new ft({definition:n,source:r.id,target:t}))}))}))})),this.temporaryLink&&e.push(this.temporaryLink),e.concat(this.getWorkflowLinks())}},{key:"getAttributeValue",value:function(t){return t.isVariable?this.getVariableValue(t.value):t.value}},{key:"getLinkedComponentsIds",value:function(t){var e=this.getAttributeValue(t);return null===e?[]:Array.isArray(e)?e:[e]}},{key:"getVariableValue",value:function(t){var e;return(null===(e=this.variables.find((function(e){return e.name===t})))||void 0===e?void 0:e.value)||null}},{key:"setVariableValue",value:function(t,e){var n=this.variables.find((function(e){return e.name===t}));n&&(n.value=e)}},{key:"getComponentIdFromValue",value:function(t){return t}},{key:"canHaveLink",value:function(t){return this.definitions.links.some((function(e){var n=e.sourceRef;return e.targetRef,n===t}))}},{key:"canBeLink",value:function(t,e){return this.definitions.links.some((function(n){var r=n.sourceRef,i=n.targetRef;return r===t&&i===e}))}},{key:"createTemporaryLink",value:function(t,e){this.temporaryLink=new ZN({source:t,anchorName:e,definition:this.definitions.links.find((function(t){return t.isTemporary}))})}},{key:"getWorkflowLinks",value:function(){var t=this;return this.components.filter((function(t){var e;return null===(e=t.definition.displayType)||void 0===e?void 0:e.match("workflow")})).reduce((function(e,n){var r=t.getChildren(n.id);if(r.length>1)for(var i=0;in,this.components.splice(i,0,r),this.components.splice(n+(it}))}},{key:"emitEvent",value:function(){var t,e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.id;return r?(e=this.getEventLogById(r),Object.keys(n).forEach((function(t){e[t]=n[t]}))):(this.__eventIndex+=1,r=this.__eventIndex,(e=new $N(eP(eP({},n),{},{id:r}))).startDate=Date.now(),this.eventLogs.push(e)),["success","warning","error"].includes(e.status)&&(e.endDate=Date.now()),null!==(t=this.eventManager)&&void 0!==t&&t.next&&this.eventManager.next({plugin:this.name,event:eP({},e)}),r}}],e&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{editor:{syntax:null},restrictiveFolder:null,defaultFileName:null,defaultFileExtension:null,tags:[],isFolderTypeDiagram:!0,extraResources:[],rootContainer:{margin:30,gap:50}};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.editor=function(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),N(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;N(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:C(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},e}function dP(t,e,n,r,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,i)}function mP(t){var e=function(t,e){if("object"!=fP(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=fP(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==fP(e)?e:e+""}var yP=function(){return t=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{event:null,configuration:null,pluginData:null,pluginDrawer:null,pluginMetadata:null,pluginParser:null,pluginRenderer:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),function(t,e,n){(e=mP(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}(this,"S",void 0),this.configuration=e.configuration||new hP,this.data=e.pluginData||new aP(this.configuration,{},e.event),this.__drawer=e.pluginDrawer||new ON(this.data),this.__metadata=e.pluginMetadata||new CN(this.data),this.__parser=e.pluginParser||new IN(this.data),this.__renderer=e.pluginRenderer||new FN(this.data)},e=[{key:"init",value:function(){var t=this.data.emitEvent({type:"Plugin",action:"init",status:"running"});this.__metadata.parse(t),this.data.initLinkDefinitions(t),this.data.emitEvent({id:t,status:"success"})}},{key:"initResources",value:function(t){this.data.resources=t}},{key:"initDrawer",value:function(t,e){this.__drawer.init(t,e)}},{key:"draw",value:(n=pP().mark((function t(){return pP().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.__drawer.draw());case 1:case"end":return t.stop()}}),t,this)})),r=function(){var t=this,e=arguments;return new Promise((function(r,i){var o=n.apply(t,e);function a(t){dP(o,r,i,a,s,"next",t)}function s(t){dP(o,r,i,a,s,"throw",t)}a(void 0)}))},function(){return r.apply(this,arguments)})},{key:"parse",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=this.data.emitEvent({type:"Parser",action:"read",status:"running",files:n.map((function(t){return t.path})).concat(null==e?void 0:e.path),data:{global:!0}});this.__parser.parse(t,n,r),this.__parser.parseConfiguration(t,e,r),this.data.emitEvent({id:r,status:"success"})}},{key:"isParsable",value:function(t){return this.__parser.isParsable(t)}},{key:"getModels",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.__parser.getModels(e.filter((function(e){return t.isParsable(e)})))}},{key:"render",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=this.data.emitEvent({type:"Render",action:"write",status:"running",files:n.map((function(t){return t.path})).concat(e.path),data:{global:!0}});this.__renderer.renderConfiguration(t,e,r);var i=this.__renderer.render(n,r).concat(e);return this.data.emitEvent({id:r,status:"success"}),i}},{key:"arrangeComponentsPosition",value:function(t,e){this.__drawer.arrangeComponentsPosition(t,e)}},{key:"resize",value:function(t){this.__drawer.resize(t)}},{key:"getComponentPosition",value:function(t,e){var n=e.x,r=e.y,i=this.__drawer.actions.zoom,o=i.scale,a=i.translate,s=document.querySelector("#".concat(t)).getBoundingClientRect(),u=s.left,c=s.top;return{x:(n-u-a.x)/o,y:(r-c-a.y)/o}}},{key:"addComponent",value:function(t,e,n,r){var i=this.data.addComponent(e,n),o=this.data.getComponentById(i);if(t){var a=this.data.getComponentById(t);o.setReferenceAttribute(a)}return r&&this.__drawer.dropComponent(o,r),i}}],e&&function(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{type:null,value:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var n=e.type,r=e.value;this.type=n||null,this.value=r||null})),bP=gP;function _P(t){return _P="function"==typeof Symbol&&"symbol"==z(Symbol.iterator)?function(t){return z(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":z(t)},_P(t)}function wP(t,e,n){return e=kP(e),function(t,e){if(e&&("object"===_P(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,xP()?Reflect.construct(e,n||[],kP(t).constructor):e.apply(t,n))}function xP(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(xP=function(){return!!t})()}function kP(t){return kP=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},kP(t)}function EP(t,e){return EP=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},EP(t,e)}var SP=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:null,type:null,value:null,category:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),t=wP(this,e,[n]);var r=n.name,i=n.type,o=n.value,a=n.category;return t.__class="Variable",t.name=r||null,t.type=i||null,t.value=o||null,t.category=a||null,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&EP(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(q),TP=SP}();var D=e;for(var F in R)D[F]=R[F];R.__esModule&&Object.defineProperty(D,"__esModule",{value:!0})}()},63:t=>{"use strict";t.exports=function t(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(e)){if((r=e.length)!=n.length)return!1;for(i=r;0!=i--;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if((r=(o=Object.keys(e)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var a=o[i];if(!t(e[a],n[a]))return!1}return!0}return e!=e&&n!=n}},35:t=>{"use strict";t.exports=function(t,e){e||(e={}),"function"==typeof e&&(e={cmp:e});var n,r="boolean"==typeof e.cycles&&e.cycles,i=e.cmp&&(n=e.cmp,function(t){return function(e,r){var i={key:e,value:t[e]},o={key:r,value:t[r]};return n(i,o)}}),o=[];return function t(e){if(e&&e.toJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),void 0!==e){if("number"==typeof e)return isFinite(e)?""+e:"null";if("object"!=typeof e)return JSON.stringify(e);var n,a;if(Array.isArray(e)){for(a="[",n=0;n{"use strict";var e=t.exports=function(t,e,r){"function"==typeof e&&(r=e,e={}),n(e,"function"==typeof(r=e.cb||r)?r:r.pre||function(){},r.post||function(){},t,"",t)};function n(t,r,i,o,a,s,u,c,l,h){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in r(o,a,s,u,c,l,h),o){var p=o[f];if(Array.isArray(p)){if(f in e.arrayKeywords)for(var d=0;d":">","\\":"\"},a=/[&"'<>\\]/g;function s(t,e){return i.hasOwnProperty.call(t,e)}function u(t){return o[t]}function c(t,e,n){var r,i,o;if(t instanceof Error&&(t=(i=t).name+": "+i.message),Object.setPrototypeOf?(r=new Error(t),Object.setPrototypeOf(r,c.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:t})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var a=Object.getOwnPropertyDescriptor(i,"stack");(o=a&&(a.get||function(){return a.value}))||(o=function(){return i.stack})}else{var s=new Error(t).stack;o=function(){return s}}return Object.defineProperty(r,"stack",{get:function(){return o.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=e,r.colno=n,r.firstUpdate=!0,r.Update=function(t){var e="("+(t||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?e+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(e+=" [Line "+this.lineno+"]")),e+="\n ",this.firstUpdate&&(e+=" "),this.message=e+(this.message||""),this.firstUpdate=!1,this},r}function l(t){return"[object Function]"===i.toString.call(t)}function h(t){return"[object Array]"===i.toString.call(t)}function f(t){return"[object String]"===i.toString.call(t)}function p(t){return"[object Object]"===i.toString.call(t)}function d(t){var e,n=(e=t)?"string"==typeof e?e.split("."):[e]:[];return function(t){for(var e=t,r=0;rt.length)a=i.slice(0,t.length),i.slice(a.length,c).forEach((function(t,n){n2?i-2:0),a=2;a0||!n)&&process.stdout.write(" ".repeat(e));var o=i===r.length-1?"":"\n";process.stdout.write(""+t+o)}))}t.exports={Node:u,Root:h,NodeList:l,Value:c,Literal:f,Symbol:p,Group:d,Array:m,Pair:y,Dict:v,Output:z,Capture:U,TemplateData:V,If:b,IfAsync:_,InlineIf:w,For:x,AsyncEach:k,AsyncAll:E,Macro:S,Caller:T,Import:A,FromImport:O,FunCall:N,Filter:P,FilterAsync:C,KeywordArgs:L,Block:R,Super:I,Extends:D,Include:M,Set:j,Switch:F,Case:B,LookupVal:g,BinOp:K,In:H,Is:$,Or:W,And:G,Not:Y,Add:Q,Concat:X,Sub:Z,Mul:J,Div:tt,FloorDiv:et,Mod:nt,Pow:rt,Neg:it,Pos:ot,Compare:at,CompareOperand:st,CallExtension:ut,CallExtensionAsync:ct,printNodes:function t(e,n){if(n=n||0,lt(e.typename+": ",n),e instanceof l)lt("\n"),e.children.forEach((function(e){t(e,n+2)}));else if(e instanceof ut)lt(e.extName+"."+e.prop+"\n"),e.args&&t(e.args,n+2),e.contentArgs&&e.contentArgs.forEach((function(e){t(e,n+2)}));else{var r=[],i=null;e.iterFields((function(t,e){t instanceof u?r.push([e,t]):(i=i||{})[e]=t})),i?lt(JSON.stringify(i,null,2)+"\n",null,!0):lt("\n"),r.forEach((function(e){var r=e[0],i=e[1];lt("["+r+"] =>",n+2),t(i,n+4)}))}}}},function(t,e){},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=n(8),o=n(17),a=n(3),s=n(0).TemplateError,u=n(2).Frame,c=n(1).Obj,l={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},h=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n);var o=i.prototype;return o.init=function(t,e){this.templateName=t,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=e},o.fail=function(t,e,n){throw void 0!==e&&(e+=1),void 0!==n&&(n+=1),new s(t,e,n)},o._pushBuffer=function(){var t=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=t,this._emit("var "+this.buffer+' = "";'),t},o._popBuffer=function(){this.buffer=this.bufferStack.pop()},o._emit=function(t){this.codebuf.push(t)},o._emitLine=function(t){this._emit(t+"\n")},o._emitLines=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r0&&i._emit(","),i.compile(t,e)})),r&&this._emit(r)},o._compileExpression=function(t,e){this.assertType(t,a.Literal,a.Symbol,a.Group,a.Array,a.Dict,a.FunCall,a.Caller,a.Filter,a.LookupVal,a.Compare,a.InlineIf,a.In,a.Is,a.And,a.Or,a.Not,a.Add,a.Concat,a.Sub,a.Mul,a.Div,a.FloorDiv,a.Mod,a.Pow,a.Neg,a.Pos,a.Compare,a.NodeList),this.compile(t,e)},o.assertType=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&r._emit(","),t){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(t,e),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var u=this._tmpid();this._emitLine(", "+this._makeCallback(u)),this._emitLine(this.buffer+" += runtime.suppressValue("+u+", "+s+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+s+" && env.opts.autoescape);\n")},o.compileCallExtensionAsync=function(t,e){this.compileCallExtension(t,e,!0)},o.compileNodeList=function(t,e){this._compileChildren(t,e)},o.compileLiteral=function(t){if("string"==typeof t.value){var e=t.value.replace(/\\/g,"\\\\");e=(e=(e=(e=(e=e.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+e+'"')}else null===t.value?this._emit("null"):this._emit(t.value.toString())},o.compileSymbol=function(t,e){var n=t.value,r=e.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},o.compileGroup=function(t,e){this._compileAggregate(t,e,"(",")")},o.compileArray=function(t,e){this._compileAggregate(t,e,"[","]")},o.compileDict=function(t,e){this._compileAggregate(t,e,"{","}")},o.compilePair=function(t,e){var n=t.key,r=t.value;n instanceof a.Symbol?n=new a.Literal(n.lineno,n.colno,n.value):n instanceof a.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,e),this._emit(": "),this._compileExpression(r,e)},o.compileInlineIf=function(t,e){this._emit("("),this.compile(t.cond,e),this._emit("?"),this.compile(t.body,e),this._emit(":"),null!==t.else_?this.compile(t.else_,e):this._emit('""'),this._emit(")")},o.compileIn=function(t,e){this._emit("runtime.inOperator("),this.compile(t.left,e),this._emit(","),this.compile(t.right,e),this._emit(")")},o.compileIs=function(t,e){var n=t.right.name?t.right.name.value:t.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(t.left,e),t.right.args&&(this._emit(","),this.compile(t.right.args,e)),this._emit(") === true")},o._binOpEmitter=function(t,e,n){this.compile(t.left,e),this._emit(n),this.compile(t.right,e)},o.compileOr=function(t,e){return this._binOpEmitter(t,e," || ")},o.compileAnd=function(t,e){return this._binOpEmitter(t,e," && ")},o.compileAdd=function(t,e){return this._binOpEmitter(t,e," + ")},o.compileConcat=function(t,e){return this._binOpEmitter(t,e,' + "" + ')},o.compileSub=function(t,e){return this._binOpEmitter(t,e," - ")},o.compileMul=function(t,e){return this._binOpEmitter(t,e," * ")},o.compileDiv=function(t,e){return this._binOpEmitter(t,e," / ")},o.compileMod=function(t,e){return this._binOpEmitter(t,e," % ")},o.compileNot=function(t,e){this._emit("!"),this.compile(t.target,e)},o.compileFloorDiv=function(t,e){this._emit("Math.floor("),this.compile(t.left,e),this._emit(" / "),this.compile(t.right,e),this._emit(")")},o.compilePow=function(t,e){this._emit("Math.pow("),this.compile(t.left,e),this._emit(", "),this.compile(t.right,e),this._emit(")")},o.compileNeg=function(t,e){this._emit("-"),this.compile(t.target,e)},o.compilePos=function(t,e){this._emit("+"),this.compile(t.target,e)},o.compileCompare=function(t,e){var n=this;this.compile(t.expr,e),t.ops.forEach((function(t){n._emit(" "+l[t.type]+" "),n.compile(t.expr,e)}))},o.compileLookupVal=function(t,e){this._emit("runtime.memberLookup(("),this._compileExpression(t.target,e),this._emit("),"),this._compileExpression(t.val,e),this._emit(")")},o._getNodeName=function(t){switch(t.typename){case"Symbol":return t.value;case"FunCall":return"the return value of ("+this._getNodeName(t.name)+")";case"LookupVal":return this._getNodeName(t.target)+'["'+this._getNodeName(t.val)+'"]';case"Literal":return t.value.toString();default:return"--expression--"}},o.compileFunCall=function(t,e){this._emit("(lineno = "+t.lineno+", colno = "+t.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(t.name,e),this._emit(', "'+this._getNodeName(t.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(t.args,e,"[","])"),this._emit(")")},o.compileFilter=function(t,e){var n=t.name;this.assertType(n,a.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(t.args,e),this._emit(")")},o.compileFilterAsync=function(t,e){var n=t.name,r=t.symbol.value;this.assertType(n,a.Symbol),e.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(t.args,e),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},o.compileKeywordArgs=function(t,e){this._emit("runtime.makeKeywordArgs("),this.compileDict(t,e),this._emit(")")},o.compileSet=function(t,e){var n=this,r=[];t.targets.forEach((function(t){var i=t.value,o=e.lookup(i);null==o&&(o=n._tmpid(),n._emitLine("var "+o+";")),r.push(o)})),t.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(t.value,e),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(t.body,e),this._emitLine(";")),t.targets.forEach((function(t,e){var i=r[e],o=t.value;n._emitLine('frame.set("'+o+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+o+'", '+i+");"),n._emitLine("}"),"_"!==o.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+o+'", '+i+");"),n._emitLine("}"))}))},o.compileSwitch=function(t,e){var n=this;this._emit("switch ("),this.compile(t.expr,e),this._emit(") {"),t.cases.forEach((function(t,r){n._emit("case "),n.compile(t.cond,e),n._emit(": "),n.compile(t.body,e),t.body.children.length&&n._emitLine("break;")})),t.default&&(this._emit("default:"),this.compile(t.default,e)),this._emit("}")},o.compileIf=function(t,e,n){var r=this;this._emit("if("),this._compileExpression(t.cond,e),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(t.body,e),n&&r._emit("cb()")})),t.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(t.else_,e),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},o.compileIfAsync=function(t,e){this._emit("(function(cb) {"),this.compileIf(t,e,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},o._emitLoopBindings=function(t,e,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(t){i._emitLine('frame.set("loop.'+t.name+'", '+t.val+");")}))},o.compileFor=function(t,e){var n=this,r=this._tmpid(),i=this._tmpid(),o=this._tmpid();if(e=e.push(),this._emitLine("frame = frame.push();"),this._emit("var "+o+" = "),this._compileExpression(t.arr,e),this._emitLine(";"),this._emit("if("+o+") {"),this._emitLine(o+" = runtime.fromIterator("+o+");"),t.name instanceof a.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+o+")) {"),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),t.name.children.forEach((function(i,a){var s=n._tmpid();n._emitLine("var "+s+" = "+o+"["+r+"]["+a+"];"),n._emitLine('frame.set("'+i+'", '+o+"["+r+"]["+a+"]);"),e.set(t.name.children[a].value,s)})),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}"),this._emitLine("} else {");var s=t.name.children,u=s[0],c=s[1],l=this._tmpid(),h=this._tmpid();e.set(u.value,l),e.set(c.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+o+").length;"),this._emitLine("for(var "+l+" in "+o+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+o+"["+l+"];"),this._emitLine('frame.set("'+u.value+'", '+l+");"),this._emitLine('frame.set("'+c.value+'", '+h+");"),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}"),this._emitLine("}")}else{var f=this._tmpid();e.set(t.name.value,f),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+o+".length; "+r+"++) {"),this._emitLine("var "+f+" = "+o+"["+r+"];"),this._emitLine('frame.set("'+t.name.value+'", '+f+");"),this._emitLoopBindings(t,o,r,i),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("}")}this._emitLine("}"),t.else_&&(this._emitLine("if (!"+i+") {"),this.compile(t.else_,e),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o._compileAsyncLoop=function(t,e,n){var r=this,i=this._tmpid(),o=this._tmpid(),s=this._tmpid(),u=n?"asyncAll":"asyncEach";if(e=e.push(),this._emitLine("frame = frame.push();"),this._emit("var "+s+" = runtime.fromIterator("),this._compileExpression(t.arr,e),this._emitLine(");"),t.name instanceof a.Array){var c=t.name.children.length;this._emit("runtime."+u+"("+s+", "+c+", function("),t.name.children.forEach((function(t){r._emit(t.value+",")})),this._emit(i+","+o+",next) {"),t.name.children.forEach((function(t){var n=t.value;e.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=t.name.value;this._emitLine("runtime."+u+"("+s+", 1, function("+l+", "+i+", "+o+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),e.set(l,l)}this._emitLoopBindings(t,s,i,o),this._withScopedSyntax((function(){var o;n&&(o=r._pushBuffer()),r.compile(t.body,e),r._emitLine("next("+i+(o?","+o:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),t.else_&&(this._emitLine("if (!"+s+".length) {"),this.compile(t.else_,e),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o.compileAsyncEach=function(t,e){this._compileAsyncLoop(t,e)},o.compileAsyncAll=function(t,e){this._compileAsyncLoop(t,e,!0)},o._compileMacro=function(t,e){var n=this,r=[],i=null,o="macro_"+this._tmpid(),s=void 0!==e;t.args.children.forEach((function(e,o){o===t.args.children.length-1&&e instanceof a.Dict?i=e:(n.assertType(e,a.Symbol),r.push(e))}));var c,l=[].concat(r.map((function(t){return"l_"+t.value})),["kwargs"]),h=r.map((function(t){return'"'+t.value+'"'})),f=(i&&i.children||[]).map((function(t){return'"'+t.key.value+'"'}));c=s?e.push(!0):new u,this._emitLines("var "+o+" = runtime.makeMacro(","["+h.join(", ")+"], ","["+f.join(", ")+"], ","function ("+l.join(", ")+") {","var callerFrame = frame;","frame = "+(s?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(t){n._emitLine('frame.set("'+t.value+'", l_'+t.value+");"),c.set(t.value,"l_"+t.value)})),i&&i.children.forEach((function(t){var e=t.key.value;n._emit('frame.set("'+e+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+e+'")'),n._emit(' ? kwargs["'+e+'"] : '),n._compileExpression(t.value,c),n._emit(");")}));var p=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(t.body,c)})),this._emitLine("frame = "+(s?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+p+");"),this._emitLine("});"),this._popBuffer(),o},o.compileMacro=function(t,e){var n=this._compileMacro(t),r=t.name.value;e.set(r,n),e.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==t.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},o.compileCaller=function(t,e){this._emit("(function (){");var n=this._compileMacro(t,e);this._emit("return "+n+";})()")},o._compileGetTemplate=function(t,e,n,r){var i=this._tmpid(),o=this._templateName(),a=this._makeCallback(i),s=n?"true":"false",u=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(t.template,e),this._emitLine(", "+s+", "+o+", "+u+", "+a),i},o.compileImport=function(t,e){var n=t.target.value,r=this._compileGetTemplate(t,e,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(t.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.set(n,r),e.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},o.compileFromImport=function(t,e){var n=this,r=this._compileGetTemplate(t,e,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(t.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.names.children.forEach((function(t){var i,o,s=n._tmpid();t instanceof a.Pair?(i=t.key.value,o=t.value.value):o=i=t.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+s+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),e.set(o,s),e.parent?n._emitLine('frame.set("'+o+'", '+s+");"):n._emitLine('context.setVariable("'+o+'", '+s+");")}))},o.compileBlock=function(t){var e=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+t.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(e)),this._emitLine(this.buffer+" += "+e+";"),this._addScopeLevel()},o.compileSuper=function(t,e){var n=t.blockName.value,r=t.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),e.set(r,r)},o.compileExtends=function(t,e){var n=this._tmpid(),r=this._compileGetTemplate(t,e,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},o.compileInclude=function(t,e){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(t,e,!1,t.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},o.compileTemplateData=function(t,e){this.compileLiteral(t,e)},o.compileCapture=function(t,e){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(t.body,e)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},o.compileOutput=function(t,e){var n=this;t.children.forEach((function(r){r instanceof a.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,e),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,e),n.throwOnUndefined&&n._emit(","+t.lineno+","+t.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},o.compileRoot=function(t,e){var n=this;e&&this.fail("compileRoot: root node can't have frame"),e=new u,this._emitFuncBegin(t,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(t,e),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=t.findAll(a.Block);i.forEach((function(t,e){var i=t.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(t,"b_"+i);var o=new u;n._emitLine("var frame = frame.push(true);"),n.compile(t.body,o),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(t,e){var r="b_"+t.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},o.compile=function(t,e){var n=this["compile"+t.typename];n?n.call(this,t,e):this.fail("compile: Cannot compile node: "+t.typename,t.lineno,t.colno)},o.getCode=function(){return this.codebuf.join("")},i}(c);t.exports={compile:function(t,e,n,r,a){void 0===a&&(a={});var s=new h(r,a.throwOnUndefined),u=(n||[]).map((function(t){return t.preprocess})).filter((function(t){return!!t})).reduce((function(t,e){return e(t)}),t);return s.compile(o.transform(i.parse(u,n,a),e,r)),s.getCode()},Compiler:h}},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=n(4),o=n(1).EmitterObj;t.exports=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n);var a=o.prototype;return a.resolve=function(t,e){return i.resolve(i.dirname(t),e)},a.isRelative=function(t){return 0===t.indexOf("./")||0===t.indexOf("../")},o}(o)},function(t,e,n){"use strict";function r(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,i(t,e)}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}var o=n(12),a=n(15),s=n(0),u=n(5),c=n(18),l=n(10),h=l.FileSystemLoader,f=l.WebLoader,p=l.PrecompiledLoader,d=n(20),m=n(21),y=n(1),v=y.Obj,g=y.EmitterObj,b=n(2),_=b.handleError,w=b.Frame,x=n(22);function k(t,e,n){o((function(){t(e,n)}))}var E={type:"code",obj:{root:function(t,e,n,r,i){try{i(null,"")}catch(t){i(_(t,null,null))}}}},S=function(t){function e(){return t.apply(this,arguments)||this}r(e,t);var n=e.prototype;return n.init=function(t,e){var n=this;e=this.opts=e||{},this.opts.dev=!!e.dev,this.opts.autoescape=null==e.autoescape||e.autoescape,this.opts.throwOnUndefined=!!e.throwOnUndefined,this.opts.trimBlocks=!!e.trimBlocks,this.opts.lstripBlocks=!!e.lstripBlocks,this.loaders=[],t?this.loaders=s.isArray(t)?t:[t]:h?this.loaders=[new h("views")]:f&&(this.loaders=[new f("/views")]),"undefined"!=typeof window&&window.nunjucksPrecompiled&&this.loaders.unshift(new p(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=m(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],s._entries(c).forEach((function(t){var e=t[0],r=t[1];return n.addFilter(e,r)})),s._entries(d).forEach((function(t){var e=t[0],r=t[1];return n.addTest(e,r)}))},n._initLoaders=function(){var t=this;this.loaders.forEach((function(e){e.cache={},"function"==typeof e.on&&(e.on("update",(function(n,r){e.cache[n]=null,t.emit("update",n,r,e)})),e.on("load",(function(n,r){t.emit("load",n,r,e)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(t){t.cache={}}))},n.addExtension=function(t,e){return e.__name=t,this.extensions[t]=e,this.extensionsList.push(e),this},n.removeExtension=function(t){var e=this.getExtension(t);e&&(this.extensionsList=s.without(this.extensionsList,e),delete this.extensions[t])},n.getExtension=function(t){return this.extensions[t]},n.hasExtension=function(t){return!!this.extensions[t]},n.addGlobal=function(t,e){return this.globals[t]=e,this},n.getGlobal=function(t){if(void 0===this.globals[t])throw new Error("global not found: "+t);return this.globals[t]},n.addFilter=function(t,e,n){var r=e;return n&&this.asyncFilters.push(t),this.filters[t]=r,this},n.getFilter=function(t){if(!this.filters[t])throw new Error("filter not found: "+t);return this.filters[t]},n.addTest=function(t,e){return this.tests[t]=e,this},n.getTest=function(t){if(!this.tests[t])throw new Error("test not found: "+t);return this.tests[t]},n.resolveTemplate=function(t,e,n){return t.isRelative&&e&&t.isRelative(n)&&t.resolve?t.resolve(e,n):n},n.getTemplate=function(t,e,n,r,i){var o,a=this,u=this,c=null;if(t&&t.raw&&(t=t.raw),s.isFunction(n)&&(i=n,n=null,e=e||!1),s.isFunction(e)&&(i=e,e=!1),t instanceof A)c=t;else{if("string"!=typeof t)throw new Error("template names must be a string: "+t);for(var l=0;l0&&!this.skip(i.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",t.lineno,t.colno);var s=this.parsePrimary();if("_"===s.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",s.lineno,s.colno),this.skipSymbol("as")){var u=this.parsePrimary();r.addChild(new o.Pair(s.lineno,s.colno,s,u))}else r.addChild(s);n=this.parseWithContext()}return new o.FromImport(t.lineno,t.colno,e,r,n)},u.parseBlock=function(){var t=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",t.lineno,t.colno);var e=new o.Block(t.lineno,t.colno);e.name=this.parsePrimary(),e.name instanceof o.Symbol||this.fail("parseBlock: variable name expected",t.lineno,t.colno),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(e.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),e},u.parseExtends=function(){var t="extends",e=this.peekToken();this.skipSymbol(t)||this.fail("parseTemplateRef: expected "+t);var n=new o.Extends(e.lineno,e.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(e.value),n},u.parseInclude=function(){var t="include",e=this.peekToken();this.skipSymbol(t)||this.fail("parseInclude: expected "+t);var n=new o.Include(e.lineno,e.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(e.value),n},u.parseIf=function(){var t,e=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?t=new o.If(e.lineno,e.colno):this.skipSymbol("ifAsync")?t=new o.IfAsync(e.lineno,e.colno):this.fail("parseIf: expected if, elif, or elseif",e.lineno,e.colno),t.cond=this.parseExpression(),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":t.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),t.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":t.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return t},u.parseSet=function(){var t=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",t.lineno,t.colno);for(var e,n=new o.Set(t.lineno,t.colno,[]);(e=this.parsePrimary())&&(n.targets.push(e),this.skip(i.TOKEN_COMMA)););return this.skipValue(i.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(t.value)):this.skip(i.TOKEN_BLOCK_END)?(n.body=new o.Capture(t.lineno,t.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",t.lineno,t.colno),n},u.parseSwitch=function(){var t="switch",e="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(t)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var a=this.parseExpression();this.advanceAfterBlockEnd(t),this.parseUntilBlocks(n,r,e);var s,u=this.peekToken(),c=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(t);var h=this.parseUntilBlocks(n,r,e);c.push(new o.Case(u.line,u.col,l,h)),u=this.peekToken()}while(u&&u.value===n);switch(u.value){case r:this.advanceAfterBlockEnd(),s=this.parseUntilBlocks(e),this.advanceAfterBlockEnd();break;case e:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new o.Switch(i.lineno,i.colno,a,c,s)},u.parseStatement=function(){var t=this.peekToken();if(t.type!==i.TOKEN_SYMBOL&&this.fail("tag name expected",t.lineno,t.colno),this.breakOnBlocks&&-1!==s.indexOf(this.breakOnBlocks,t.value))return null;switch(t.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var e=0;e0;){var u=a[0],c=a[1],l=a[2];l===t?r+=1:l===e&&(r-=1),0===r?(i+=c,this.tokens.backN(u.length-c.length)):i+=u}return new o.Output(s.lineno,s.colno,[new o.TemplateData(s.lineno,s.colno,i)])},u.parsePostfix=function(t){for(var e,n=this.peekToken();n;){if(n.type===i.TOKEN_LEFT_PAREN)t=new o.FunCall(n.lineno,n.colno,t,this.parseSignature());else if(n.type===i.TOKEN_LEFT_BRACKET)(e=this.parseAggregate()).children.length>1&&this.fail("invalid index"),t=new o.LookupVal(n.lineno,n.colno,t,e.children[0]);else{if(n.type!==i.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==i.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),e=new o.Literal(r.lineno,r.colno,r.value),t=new o.LookupVal(n.lineno,n.colno,t,e)}n=this.peekToken()}return t},u.parseExpression=function(){return this.parseInlineIf()},u.parseInlineIf=function(){var t=this.parseOr();if(this.skipSymbol("if")){var e=this.parseOr(),n=t;(t=new o.InlineIf(t.lineno,t.colno)).body=n,t.cond=e,this.skipSymbol("else")?t.else_=this.parseOr():t.else_=null}return t},u.parseOr=function(){for(var t=this.parseAnd();this.skipSymbol("or");){var e=this.parseAnd();t=new o.Or(t.lineno,t.colno,t,e)}return t},u.parseAnd=function(){for(var t=this.parseNot();this.skipSymbol("and");){var e=this.parseNot();t=new o.And(t.lineno,t.colno,t,e)}return t},u.parseNot=function(){var t=this.peekToken();return this.skipSymbol("not")?new o.Not(t.lineno,t.colno,this.parseNot()):this.parseIn()},u.parseIn=function(){for(var t=this.parseIs();;){var e=this.nextToken();if(!e)break;var n=e.type===i.TOKEN_SYMBOL&&"not"===e.value;if(n||this.pushToken(e),!this.skipSymbol("in")){n&&this.pushToken(e);break}var r=this.parseIs();t=new o.In(t.lineno,t.colno,t,r),n&&(t=new o.Not(t.lineno,t.colno,t))}return t},u.parseIs=function(){var t=this.parseCompare();if(this.skipSymbol("is")){var e=this.skipSymbol("not"),n=this.parseCompare();t=new o.Is(t.lineno,t.colno,t,n),e&&(t=new o.Not(t.lineno,t.colno,t))}return t},u.parseCompare=function(){for(var t=["==","===","!=","!==","<",">","<=",">="],e=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===t.indexOf(r.value)){this.pushToken(r);break}n.push(new o.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new o.Compare(n[0].lineno,n[0].colno,e,n):e},u.parseConcat=function(){for(var t=this.parseAdd();this.skipValue(i.TOKEN_TILDE,"~");){var e=this.parseAdd();t=new o.Concat(t.lineno,t.colno,t,e)}return t},u.parseAdd=function(){for(var t=this.parseSub();this.skipValue(i.TOKEN_OPERATOR,"+");){var e=this.parseSub();t=new o.Add(t.lineno,t.colno,t,e)}return t},u.parseSub=function(){for(var t=this.parseMul();this.skipValue(i.TOKEN_OPERATOR,"-");){var e=this.parseMul();t=new o.Sub(t.lineno,t.colno,t,e)}return t},u.parseMul=function(){for(var t=this.parseDiv();this.skipValue(i.TOKEN_OPERATOR,"*");){var e=this.parseDiv();t=new o.Mul(t.lineno,t.colno,t,e)}return t},u.parseDiv=function(){for(var t=this.parseFloorDiv();this.skipValue(i.TOKEN_OPERATOR,"/");){var e=this.parseFloorDiv();t=new o.Div(t.lineno,t.colno,t,e)}return t},u.parseFloorDiv=function(){for(var t=this.parseMod();this.skipValue(i.TOKEN_OPERATOR,"//");){var e=this.parseMod();t=new o.FloorDiv(t.lineno,t.colno,t,e)}return t},u.parseMod=function(){for(var t=this.parsePow();this.skipValue(i.TOKEN_OPERATOR,"%");){var e=this.parsePow();t=new o.Mod(t.lineno,t.colno,t,e)}return t},u.parsePow=function(){for(var t=this.parseUnary();this.skipValue(i.TOKEN_OPERATOR,"**");){var e=this.parseUnary();t=new o.Pow(t.lineno,t.colno,t,e)}return t},u.parseUnary=function(t){var e,n=this.peekToken();return e=this.skipValue(i.TOKEN_OPERATOR,"-")?new o.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(i.TOKEN_OPERATOR,"+")?new o.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),t||(e=this.parseFilter(e)),e},u.parsePrimary=function(t){var e,n=this.nextToken(),r=null;if(n?n.type===i.TOKEN_STRING?e=n.value:n.type===i.TOKEN_INT?e=parseInt(n.value,10):n.type===i.TOKEN_FLOAT?e=parseFloat(n.value):n.type===i.TOKEN_BOOLEAN?"true"===n.value?e=!0:"false"===n.value?e=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===i.TOKEN_NONE?e=null:n.type===i.TOKEN_REGEX&&(e=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==e?r=new o.Literal(n.lineno,n.colno,e):n.type===i.TOKEN_SYMBOL?r=new o.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),t||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},u.parseFilterName=function(){for(var t=this.expect(i.TOKEN_SYMBOL),e=t.value;this.skipValue(i.TOKEN_OPERATOR,".");)e+="."+this.expect(i.TOKEN_SYMBOL).value;return new o.Symbol(t.lineno,t.colno,e)},u.parseFilterArgs=function(t){return this.peekToken().type===i.TOKEN_LEFT_PAREN?this.parsePostfix(t).args.children:[]},u.parseFilter=function(t){for(;this.skip(i.TOKEN_PIPE);){var e=this.parseFilterName();t=new o.Filter(e.lineno,e.colno,e,new o.NodeList(e.lineno,e.colno,[t].concat(this.parseFilterArgs(t))))}return t},u.parseFilterStatement=function(){var t=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var e=this.parseFilterName(),n=this.parseFilterArgs(e);this.advanceAfterBlockEnd(t.value);var r=new o.Capture(e.lineno,e.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new o.Filter(e.lineno,e.colno,e,new o.NodeList(e.lineno,e.colno,[r].concat(n)));return new o.Output(e.lineno,e.colno,[i])},u.parseAggregate=function(){var t,e=this.nextToken();switch(e.type){case i.TOKEN_LEFT_PAREN:t=new o.Group(e.lineno,e.colno);break;case i.TOKEN_LEFT_BRACKET:t=new o.Array(e.lineno,e.colno);break;case i.TOKEN_LEFT_CURLY:t=new o.Dict(e.lineno,e.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===i.TOKEN_RIGHT_PAREN||n===i.TOKEN_RIGHT_BRACKET||n===i.TOKEN_RIGHT_CURLY){this.nextToken();break}if(t.children.length>0&&(this.skip(i.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",e.lineno,e.colno)),t instanceof o.Dict){var r=this.parsePrimary();this.skip(i.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",e.lineno,e.colno);var a=this.parseExpression();t.addChild(new o.Pair(r.lineno,r.colno,r,a))}else{var s=this.parseExpression();t.addChild(s)}}return t},u.parseSignature=function(t,e){var n=this.peekToken();if(!e&&n.type!==i.TOKEN_LEFT_PAREN){if(t)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===i.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new o.NodeList(n.lineno,n.colno),a=new o.KeywordArgs(n.lineno,n.colno),s=!1;;){if(n=this.peekToken(),!e&&n.type===i.TOKEN_RIGHT_PAREN){this.nextToken();break}if(e&&n.type===i.TOKEN_BLOCK_END)break;if(s&&!this.skip(i.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var u=this.parseExpression();this.skipValue(i.TOKEN_OPERATOR,"=")?a.addChild(new o.Pair(u.lineno,u.colno,u,this.parseExpression())):r.addChild(u)}s=!0}return a.children.length&&r.addChild(a),r},u.parseUntilBlocks=function(){for(var t=this.breakOnBlocks,e=arguments.length,n=new Array(e),r=0;r=","//","**"],j=C+this.current();switch(-1!==r.indexOf(M,j)&&(this.forward(),C=j,-1!==r.indexOf(M,j+this.current())&&(C=j+this.current(),this.forward())),C){case"(":D=d;break;case")":D=m;break;case"[":D=y;break;case"]":D=v;break;case"{":D=g;break;case"}":D=b;break;case",":D=w;break;case":":D=x;break;case"~":D=k;break;case"|":D=E;break;default:D=_}return P(D,C,e,n)}if((t=this._extractUntil(i+o)).match(/^[-+]?[0-9]+$/)){if("."===this.current()){this.forward();var F=this._extract("0123456789");return P(S,t+"."+F,e,n)}return P("int",t,e,n)}if(t.match(/^(true|false)$/))return P(T,t,e,n);if("none"===t)return P(A,t,e,n);if("null"===t)return P(A,t,e,n);if(t)return P(O,t,e,n);throw new Error("Unexpected value while parsing: "+t)}var B,z=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((t=this._extractString(this.tags.BLOCK_START+"-"))||(t=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,P(c,t,e,n);if((t=this._extractString(this.tags.VARIABLE_START+"-"))||(t=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,P(h,t,e,n);t="";var U=!1;for(this._matches(this.tags.COMMENT_START)&&(U=!0,t=this._extractString(this.tags.COMMENT_START));null!==(B=this._extractUntil(z));){if(t+=B,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!U){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=t.length){var V=t.slice(-this.colno);if(/^\s+$/.test(V)&&!(t=t.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!U)throw new Error("unexpected end of comment");t+=this._extractString(this.tags.COMMENT_END);break}t+=this.current(),this.forward()}if(null===B&&U)throw new Error("expected end of comment, got end of file");return P(U?p:u,t,e,n)},e._parseString=function(t){this.forward();for(var e="";!this.isFinished()&&this.current()!==t;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":e+="\n";break;case"t":e+="\t";break;case"r":e+="\r";break;default:e+=this.current()}this.forward()}else e+=n,this.forward()}return this.forward(),e},e._matches=function(t){return this.index+t.length>this.len?null:this.str.slice(this.index,this.index+t.length)===t},e._extractString=function(t){return this._matches(t)?(this.forwardN(t.length),t):null},e._extractUntil=function(t){return this._extractMatching(!0,t||"")},e._extract=function(t){return this._extractMatching(!1,t)},e._extractMatching=function(t,e){if(this.isFinished())return null;var n=e.indexOf(this.current());if(t&&-1===n||!t&&-1!==n){var r=this.current();this.forward();for(var i=e.indexOf(this.current());(t&&-1===i||!t&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=e.indexOf(this.current());return r}return""},e._extractRegex=function(t){var e=this.currentStr().match(t);return e?(this.forwardN(e[0].length),e):null},e.isFinished=function(){return this.index>=this.len},e.forwardN=function(t){for(var e=0;e1024){for(var e=0,n=i.length-o;e0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=a.length,s=u,console&&console.warn&&console.warn(s)}return t}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}function d(t,e,n){var r=t._events;if(void 0===r)return[];var i=r[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n0&&(a=e[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var u=i[t];if(void 0===u)return!1;if("function"==typeof u)o(u,this,e);else{var c=u.length,l=y(u,c);for(n=0;n=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){"use strict";var r=n(3),i=n(0),o=0;function a(){return"hole_"+o++}function s(t,e){for(var n=null,r=0;r=e)return t;var n=e-t.length,a=r.repeat(" ",n/2-n%2),s=r.repeat(" ",n/2);return i.copySafeness(t,a+t+s)},e.default=function(t,e,n){return n?t||e:void 0!==t?t:e},e.dictsort=function(t,e,n){if(!r.isObject(t))throw new r.TemplateError("dictsort filter: val must be an object");var i,o=[];for(var a in t)o.push([a,t[a]]);if(void 0===n||"key"===n)i=0;else{if("value"!==n)throw new r.TemplateError("dictsort filter: You can only sort by either key or value");i=1}return o.sort((function(t,n){var o=t[i],a=n[i];return e||(r.isString(o)&&(o=o.toUpperCase()),r.isString(a)&&(a=a.toUpperCase())),o>a?1:o===a?0:-1})),o},e.dump=function(t,e){return JSON.stringify(t,null,e)},e.escape=function(t){return t instanceof i.SafeString?t:(t=null==t?"":t,i.markSafe(r.escape(t.toString())))},e.safe=function(t){return t instanceof i.SafeString?t:(t=null==t?"":t,i.markSafe(t.toString()))},e.first=function(t){return t[0]},e.forceescape=function(t){return t=null==t?"":t,i.markSafe(r.escape(t.toString()))},e.groupby=function(t,e){return r.groupBy(t,e,this.env.opts.throwOnUndefined)},e.indent=function(t,e,n){if(""===(t=o(t,"")))return"";e=e||4;var a=t.split("\n"),s=r.repeat(" ",e),u=a.map((function(t,e){return 0!==e||n?""+s+t:t})).join("\n");return i.copySafeness(t,u)},e.join=function(t,e,n){return e=e||"",n&&(t=r.map(t,(function(t){return t[n]}))),t.join(e)},e.last=function(t){return t[t.length-1]},e.length=function(t){var e=o(t,"");return void 0!==e?"function"==typeof Map&&e instanceof Map||"function"==typeof Set&&e instanceof Set?e.size:!r.isObject(e)||e instanceof i.SafeString?e.length:r.keys(e).length:0},e.list=u,e.lower=function(t){return(t=o(t,"")).toLowerCase()},e.nl2br=function(t){return null==t?"":i.copySafeness(t,t.replace(/\r\n|\n/g,"
\n"))},e.random=function(t){return t[Math.floor(Math.random()*t.length)]},e.reject=c(!1),e.rejectattr=function(t,e){return t.filter((function(t){return!t[e]}))},e.select=c(!0),e.selectattr=function(t,e){return t.filter((function(t){return!!t[e]}))},e.replace=function(t,e,n,r){var o=t;if(e instanceof RegExp)return t.replace(e,n);void 0===r&&(r=-1);var a="";if("number"==typeof e)e=""+e;else if("string"!=typeof e)return t;if("number"==typeof t&&(t=""+t),"string"!=typeof t&&!(t instanceof i.SafeString))return t;if(""===e)return a=n+t.split("").join(n)+n,i.copySafeness(t,a);var s=t.indexOf(e);if(0===r||-1===s)return t;for(var u=0,c=0;s>-1&&(-1===r||c=i&&l.push(n),o.push(l)}return o},e.sum=function(t,e,n){return void 0===n&&(n=0),e&&(t=r.map(t,(function(t){return t[e]}))),n+t.reduce((function(t,e){return t+e}),0)},e.sort=i.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(t,e,n,i){var o=this,a=r.map(t,(function(t){return t})),s=r.getAttrGetter(i);return a.sort((function(t,a){var u=i?s(t):t,c=i?s(a):a;if(o.env.opts.throwOnUndefined&&i&&(void 0===u||void 0===c))throw new TypeError('sort: attribute "'+i+'" resolved to undefined');return!n&&r.isString(u)&&r.isString(c)&&(u=u.toLowerCase(),c=c.toLowerCase()),uc?e?-1:1:0})),a})),e.string=function(t){return i.copySafeness(t,t)},e.striptags=function(t,e){var n,r=l((t=o(t,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,""));return n=e?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),i.copySafeness(t,n)},e.title=function(t){var e=(t=o(t,"")).split(" ").map((function(t){return s(t)}));return i.copySafeness(t,e.join(" "))},e.trim=l,e.truncate=function(t,e,n,r){var a=t;if(e=e||255,(t=o(t,"")).length<=e)return t;if(n)t=t.substring(0,e);else{var s=t.lastIndexOf(" ",e);-1===s&&(s=e),t=t.substring(0,s)}return t+=null!=r?r:"...",i.copySafeness(a,t)},e.upper=function(t){return(t=o(t,"")).toUpperCase()},e.urlencode=function(t){var e=encodeURIComponent;return r.isString(t)?e(t):(r.isArray(t)?t:r._entries(t)).map((function(t){var n=t[0],r=t[1];return e(n)+"="+e(r)})).join("&")};var h=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,f=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,p=/^https?:\/\/.*$/,d=/^www\./,m=/\.(?:org|net|com)(?:\:|\/|$)/;e.urlize=function(t,e,n){a(e)&&(e=1/0);var r=!0===n?' rel="nofollow"':"";return t.split(/(\s+)/).filter((function(t){return t&&t.length})).map((function(t){var n=t.match(h),i=n?n[1]:t,o=i.substr(0,e);return p.test(i)?'"+o+"":d.test(i)?'"+o+"":f.test(i)?''+i+"":m.test(i)?'"+o+"":t})).join("")},e.wordcount=function(t){var e=(t=o(t,""))?t.match(/\w+/g):null;return e?e.length:null},e.float=function(t,e){var n=parseFloat(t);return a(n)?e:n};var y=i.makeMacro(["value","default","base"],[],(function(t,e,n){void 0===n&&(n=10);var r=parseInt(t,n);return a(r)?e:r}));e.int=y,e.d=e.default,e.e=e.escape},function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}var i=function(t){var e,n;function i(e){var n;return(n=t.call(this)||this).precompiled=e||{},n}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,r(e,n),i.prototype.getSource=function(t){return this.precompiled[t]?{src:{type:"code",obj:this.precompiled[t]},path:t}:null},i}(n(6));t.exports={PrecompiledLoader:i}},function(t,e,n){"use strict";var r=n(2).SafeString;e.callable=function(t){return"function"==typeof t},e.defined=function(t){return void 0!==t},e.divisibleby=function(t,e){return t%e==0},e.escaped=function(t){return t instanceof r},e.equalto=function(t,e){return t===e},e.eq=e.equalto,e.sameas=e.equalto,e.even=function(t){return t%2==0},e.falsy=function(t){return!t},e.ge=function(t,e){return t>=e},e.greaterthan=function(t,e){return t>e},e.gt=e.greaterthan,e.le=function(t,e){return t<=e},e.lessthan=function(t,e){return t0)for(var i=t;ie;o+=n)r.push(o);return r},cycler:function(){return t=Array.prototype.slice.call(arguments),e=-1,{current:null,reset:function(){e=-1,this.current=null},next:function(){return++e>=t.length&&(e=0),this.current=t[e],this.current}};var t,e},joiner:function(t){return function(t){t=t||",";var e=!0;return function(){var n=e?"":t;return e=!1,n}}(t)}}}},function(t,e,n){var r=n(4);t.exports=function(t,e){function n(t,e){if(this.name=t,this.path=t,this.defaultEngine=e.defaultEngine,this.ext=r.extname(t),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=("."!==this.defaultEngine[0]?".":"")+this.defaultEngine)}return n.prototype.render=function(e,n){t.render(this.name,e,n)},e.set("view",n),e.set("nunjucksEnv",t),t}},function(t,e,n){"use strict";var r=n(4),i=n(4),o=n(0)._prettifyError,a=n(5),s=n(7).Environment,u=n(24);function c(t,e){return!!Array.isArray(e)&&e.some((function(e){return t.match(e)}))}function l(t,e){(e=e||{}).isString=!0;var n=e.env||new s([]),r=e.wrapper||u;if(!e.name)throw new Error('the "name" option is required when compiling a string');return r([h(t,e.name,n)],e)}function h(t,e,n){var r,i=(n=n||new s([])).asyncFilters,u=n.extensionsList;e=e.replace(/\\/g,"/");try{r=a.compile(t,i,u,e,n.opts)}catch(t){throw o(e,!1,t)}return{name:e,template:r}}t.exports={precompile:function(t,e){var n=(e=e||{}).env||new s([]),o=e.wrapper||u;if(e.isString)return l(t,e);var a=r.existsSync(t)&&r.statSync(t),f=[],p=[];if(a.isFile())f.push(h(r.readFileSync(t,"utf-8"),e.name||t,n));else if(a.isDirectory()){!function n(o){r.readdirSync(o).forEach((function(a){var s=i.join(o,a),u=s.substr(i.join(t,"/").length),l=r.statSync(s);l&&l.isDirectory()?c(u+="/",e.exclude)||n(s):c(u,e.include)&&p.push(s)}))}(t);for(var d=0;dt.length||i>0&&a>=r||i<0&&a<=r);a+=i)o.push(n.memberLookup(t,a));return o}function p(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var d={pop:function(t){if(void 0===t)return this.pop();if(t>=this.length||t<0)throw new Error("KeyError");return this.splice(t,1)},append:function(t){return this.push(t)},remove:function(t){for(var e=0;e1){e[0]=e[0].slice(0,-1);for(var r=e.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,y=String.fromCharCode;function v(t){throw new RangeError(d[t])}function g(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+function(t,e){for(var n=[],r=t.length;r--;)n[r]=e(t[r]);return n}((t=t.replace(p,".")).split("."),e).join(".")}function b(t){for(var e=[],n=0,r=t.length;n=55296&&i<=56319&&n>1,t+=m(t/e);t>455;r+=l)t=m(t/35);return m(r+36*t/(t+38))},x=function(t){var e,n=[],r=t.length,i=0,o=128,a=72,s=t.lastIndexOf("-");s<0&&(s=0);for(var u=0;u=128&&v("not-basic"),n.push(t.charCodeAt(u));for(var h=s>0?s+1:0;h=r&&v("invalid-input");var y=(e=t.charCodeAt(h++))-48<10?e-22:e-65<26?e-65:e-97<26?e-97:l;(y>=l||y>m((c-i)/p))&&v("overflow"),i+=y*p;var g=d<=a?1:d>=a+26?26:d-a;if(ym(c/b)&&v("overflow"),p*=b}var _=n.length+1;a=w(i-f,_,0==f),m(i/_)>c-o&&v("overflow"),o+=m(i/_),i%=_,n.splice(i++,0,o)}return String.fromCodePoint.apply(String,n)},k=function(t){var e=[],n=(t=b(t)).length,r=128,i=0,o=72,a=!0,s=!1,u=void 0;try{for(var h,f=t[Symbol.iterator]();!(a=(h=f.next()).done);a=!0){var p=h.value;p<128&&e.push(y(p))}}catch(t){s=!0,u=t}finally{try{!a&&f.return&&f.return()}finally{if(s)throw u}}var d=e.length,g=d;for(d&&e.push("-");g=r&&Om((c-i)/N)&&v("overflow"),i+=(x-r)*N,r=x;var P=!0,C=!1,L=void 0;try{for(var R,I=t[Symbol.iterator]();!(P=(R=I.next()).done);P=!0){var D=R.value;if(Dc&&v("overflow"),D==r){for(var M=i,j=l;;j+=l){var F=j<=o?1:j>=o+26?26:j-o;if(M>6|192).toString(16).toUpperCase()+"%"+(63&e|128).toString(16).toUpperCase():"%"+(e>>12|224).toString(16).toUpperCase()+"%"+(e>>6&63|128).toString(16).toUpperCase()+"%"+(63&e|128).toString(16).toUpperCase()}function A(t){for(var e="",n=0,r=t.length;n=194&&i<224){if(r-n>=6){var o=parseInt(t.substr(n+4,2),16);e+=String.fromCharCode((31&i)<<6|63&o)}else e+=t.substr(n,6);n+=6}else if(i>=224){if(r-n>=9){var a=parseInt(t.substr(n+4,2),16),s=parseInt(t.substr(n+7,2),16);e+=String.fromCharCode((15&i)<<12|(63&a)<<6|63&s)}else e+=t.substr(n,9);n+=9}else e+=t.substr(n,3),n+=3}return e}function O(t,e){function n(t){var n=A(t);return n.match(e.UNRESERVED)?n:t}return t.scheme&&(t.scheme=String(t.scheme).replace(e.PCT_ENCODED,n).toLowerCase().replace(e.NOT_SCHEME,"")),void 0!==t.userinfo&&(t.userinfo=String(t.userinfo).replace(e.PCT_ENCODED,n).replace(e.NOT_USERINFO,T).replace(e.PCT_ENCODED,i)),void 0!==t.host&&(t.host=String(t.host).replace(e.PCT_ENCODED,n).toLowerCase().replace(e.NOT_HOST,T).replace(e.PCT_ENCODED,i)),void 0!==t.path&&(t.path=String(t.path).replace(e.PCT_ENCODED,n).replace(t.scheme?e.NOT_PATH:e.NOT_PATH_NOSCHEME,T).replace(e.PCT_ENCODED,i)),void 0!==t.query&&(t.query=String(t.query).replace(e.PCT_ENCODED,n).replace(e.NOT_QUERY,T).replace(e.PCT_ENCODED,i)),void 0!==t.fragment&&(t.fragment=String(t.fragment).replace(e.PCT_ENCODED,n).replace(e.NOT_FRAGMENT,T).replace(e.PCT_ENCODED,i)),t}function N(t){return t.replace(/^0*(.*)/,"$1")||"0"}function P(t,e){var n=t.match(e.IPV4ADDRESS)||[],r=u(n,2)[1];return r?r.split(".").map(N).join("."):t}function C(t,e){var n=t.match(e.IPV6ADDRESS)||[],r=u(n,3),i=r[1],o=r[2];if(i){for(var a=i.toLowerCase().split("::").reverse(),s=u(a,2),c=s[0],l=s[1],h=l?l.split(":").map(N):[],f=c.split(":").map(N),p=e.IPV4ADDRESS.test(f[f.length-1]),d=p?7:8,m=f.length-d,y=Array(d),v=0;v1){var _=y.slice(0,g.index),w=y.slice(g.index+g.length);b=_.join(":")+"::"+w.join(":")}else b=y.join(":");return o&&(b+="%"+o),b}return t}var L=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,R=void 0==="".match(/(){0}/)[1];function I(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==e.iri?s:a;"suffix"===e.reference&&(t=(e.scheme?e.scheme+":":"")+"//"+t);var i=t.match(L);if(i){R?(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5])):(n.scheme=i[1]||void 0,n.userinfo=-1!==t.indexOf("@")?i[3]:void 0,n.host=-1!==t.indexOf("//")?i[4]:void 0,n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=-1!==t.indexOf("?")?i[7]:void 0,n.fragment=-1!==t.indexOf("#")?i[8]:void 0,isNaN(n.port)&&(n.port=t.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),n.host&&(n.host=C(P(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",e.reference&&"suffix"!==e.reference&&e.reference!==n.reference&&(n.error=n.error||"URI is not a "+e.reference+" reference.");var o=S[(e.scheme||n.scheme||"").toLowerCase()];if(e.unicodeSupport||o&&o.unicodeSupport)O(n,r);else{if(n.host&&(e.domainHost||o&&o.domainHost))try{n.host=E.toASCII(n.host.replace(r.PCT_ENCODED,A).toLowerCase())}catch(t){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+t}O(n,a)}o&&o.parse&&o.parse(n,e)}else n.error=n.error||"URI can not be parsed.";return n}var D=/^\.\.?\//,M=/^\/\.(\/|$)/,j=/^\/\.\.(\/|$)/,F=/^\/?(?:.|\n)*?(?=\/|$)/;function B(t){for(var e=[];t.length;)if(t.match(D))t=t.replace(D,"");else if(t.match(M))t=t.replace(M,"/");else if(t.match(j))t=t.replace(j,"/"),e.pop();else if("."===t||".."===t)t="";else{var n=t.match(F);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];t=t.slice(r.length),e.push(r)}return e.join("")}function z(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.iri?s:a,r=[],i=S[(e.scheme||t.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(t,e),t.host)if(n.IPV6ADDRESS.test(t.host));else if(e.domainHost||i&&i.domainHost)try{t.host=e.iri?E.toUnicode(t.host):E.toASCII(t.host.replace(n.PCT_ENCODED,A).toLowerCase())}catch(n){t.error=t.error||"Host's domain name can not be converted to "+(e.iri?"Unicode":"ASCII")+" via punycode: "+n}O(t,n),"suffix"!==e.reference&&t.scheme&&(r.push(t.scheme),r.push(":"));var o=function(t,e){var n=!1!==e.iri?s:a,r=[];return void 0!==t.userinfo&&(r.push(t.userinfo),r.push("@")),void 0!==t.host&&r.push(C(P(String(t.host),n),n).replace(n.IPV6ADDRESS,(function(t,e,n){return"["+e+(n?"%25"+n:"")+"]"}))),"number"!=typeof t.port&&"string"!=typeof t.port||(r.push(":"),r.push(String(t.port))),r.length?r.join(""):void 0}(t,e);if(void 0!==o&&("suffix"!==e.reference&&r.push("//"),r.push(o),t.path&&"/"!==t.path.charAt(0)&&r.push("/")),void 0!==t.path){var u=t.path;e.absolutePath||i&&i.absolutePath||(u=B(u)),void 0===o&&(u=u.replace(/^\/\//,"/%2F")),r.push(u)}return void 0!==t.query&&(r.push("?"),r.push(t.query)),void 0!==t.fragment&&(r.push("#"),r.push(t.fragment)),r.join("")}function U(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(t=I(z(t,n),n),e=I(z(e,n),n)),!(n=n||{}).tolerant&&e.scheme?(r.scheme=e.scheme,r.userinfo=e.userinfo,r.host=e.host,r.port=e.port,r.path=B(e.path||""),r.query=e.query):(void 0!==e.userinfo||void 0!==e.host||void 0!==e.port?(r.userinfo=e.userinfo,r.host=e.host,r.port=e.port,r.path=B(e.path||""),r.query=e.query):(e.path?("/"===e.path.charAt(0)?r.path=B(e.path):(void 0===t.userinfo&&void 0===t.host&&void 0===t.port||t.path?t.path?r.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:r.path=e.path:r.path="/"+e.path,r.path=B(r.path)),r.query=e.query):(r.path=t.path,void 0!==e.query?r.query=e.query:r.query=t.query),r.userinfo=t.userinfo,r.host=t.host,r.port=t.port),r.scheme=t.scheme),r.fragment=e.fragment,r}function V(t,e){return t&&t.toString().replace(e&&e.iri?s.PCT_ENCODED:a.PCT_ENCODED,A)}var q={scheme:"http",domainHost:!0,parse:function(t,e){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t},serialize:function(t,e){var n="https"===String(t.scheme).toLowerCase();return t.port!==(n?443:80)&&""!==t.port||(t.port=void 0),t.path||(t.path="/"),t}},K={scheme:"https",domainHost:q.domainHost,parse:q.parse,serialize:q.serialize};function H(t){return"boolean"==typeof t.secure?t.secure:"wss"===String(t.scheme).toLowerCase()}var $={scheme:"ws",domainHost:!0,parse:function(t,e){var n=t;return n.secure=H(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n},serialize:function(t,e){if(t.port!==(H(t)?443:80)&&""!==t.port||(t.port=void 0),"boolean"==typeof t.secure&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){var n=t.resourceName.split("?"),r=u(n,2),i=r[0],o=r[1];t.path=i&&"/"!==i?i:void 0,t.query=o,t.resourceName=void 0}return t.fragment=void 0,t}},W={scheme:"wss",domainHost:$.domainHost,parse:$.parse,serialize:$.serialize},G={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",X=n(n("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+n("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+n("%"+Q+Q)),Z=e("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),J=new RegExp(Y,"g"),tt=new RegExp(X,"g"),et=new RegExp(e("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',Z),"g"),nt=new RegExp(e("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),rt=nt;function it(t){var e=A(t);return e.match(J)?e:t}var ot={scheme:"mailto",parse:function(t,e){var n=t,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var i=!1,o={},a=n.query.split("&"),s=0,u=a.length;s{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},680:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r].call(o.exports,o,o.exports,n),o.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{default:()=>mn});var t=n(73),e=n(96),i=n.n(e);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function s(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{blockType:null,provider:null};return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(t=c(this,e,[s(s({},n),{},{defaultWidth:n.isContainer?186:96,defaultHeight:n.isContainer?160:80,minWidth:n.isContainer?186:96,minHeight:n.isContainer?140:80,reservedWidth:n.isContainer?12:0,reservedHeight:n.isContainer?80:0,margin:15,gap:50})])).blockType=n.blockType||null,t.provider=n.provider||null,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&f(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(t.ComponentDefinition);function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function m(t,e,n){return e=v(e),function(t,e){if(e&&("object"===d(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,y()?Reflect.construct(e,n||[],v(t).constructor):e.apply(t,n))}function y(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(y=function(){return!!t})()}function v(t){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},v(t)}function g(t,e){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},g(t,e)}const b=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{linkAttribute:"id"};return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(t=m(this,e,[n])).linkAttribute=n.linkAttribute||"id",t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&g(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(t.ComponentAttributeDefinition),_={$id:"https://ditrit.io/schemas",type:"object",properties:{name:{type:"string"},model:{type:"string"},icon:{type:"string"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},data:{type:"array",items:{$ref:"#/definitions/data"}},modules:{type:"array",items:{$ref:"#/definitions/module"}},resources:{type:"array",items:{$ref:"#/definitions/resource"}},variables:{type:"array",items:{$ref:"#/definitions/variable"}},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["name","attributes","data","modules","resources","variables"],definitions:{defaultObject:{type:"object",properties:{type:{type:"string"},model:{type:"string"},icon:{type:"string"},isContainer:{type:"boolean"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["type","attributes"]},attribute:{type:"object",properties:{name:{type:"string"},type:{type:"string",pattern:"(String|Boolean|Number|Array|Object|Link|Reference)"},required:{type:"boolean"},linkType:{type:"string",pattern:"(Default|Reverse)"},linkRef:{type:"string"},containerRef:{type:"string"},attributes:{type:"array",items:{$ref:"#/definitions/attribute"}},rules:{$ref:"#/definitions/rule"},displayName:{type:"string"},description:{type:"string"},url:{type:"string"}},required:["name","type"]},rule:{type:"object",properties:{values:{type:"array",items:{type:"string"}},min:{type:"integer"},max:{type:"integer"},regex:{type:"string"}}},data:{$ref:"#/definitions/defaultObject"},module:{$ref:"#/definitions/defaultObject"},resource:{$ref:"#/definitions/defaultObject"},variable:{$ref:"#/definitions/defaultObject"}}},w={aws:JSON.parse('{"name":"aws","displayName":"AWS provider","description":"Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS.","icon":"aws","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs","attributes":[{"name":"region","displayName":"Region","description":"AWS service endpoints","required":true,"type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/rande.html"},{"name":"skip_region_validation","displayName":"Skip region validation","description":"Define if region validation should be skipped or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_region_validation"},{"name":"access_key","displayName":"Access key","description":"The ID of the access key to allow Terraform requests to authenticate with.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"secret_key","displayName":"Secret key","description":"The secret key to allow Terraform requests to authenticate with.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"token","displayName":"Token","description":"Used to validate session temporary credentials.","type":"String","url":"https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html"},{"name":"allowed_account_ids","displayName":"Allowed Account IDs","description":"List of allowed AWS account IDs to prevent you from mistakenly
using an incorrect one (and potentially end up destroying a live environment).","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#allowed_account_ids"},{"name":"forbidden_account_ids","displayName":"Forbidden Account IDs","description":"List of forbidden AWS account IDs to prevent you from mistakenly
using an incorrect one (and potentially end up destroying a live environment).","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#forbidden_account_ids"},{"name":"skip_requesting_account_id","displayName":"Skip requesting account ID","description":"Whether to skip requesting the account ID or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_requesting_account_id"},{"name":"custom_ca_bundle","displayName":"Custom Certificate Authority (CA) bundle","description":"File containing custom root and intermediate certificates.","type":"String","url":"https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html"},{"name":"insecure","displayName":"Insecure","description":"Whether to explicitly allow the provider to perform \\"insecure\\" SSL requests or not.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html"},{"name":"ec2_metadata_service_endpoint","displayName":"EC2 metadata service (IMDS) endpoint","description":"Address of the EC2 metadata service (IMDS) endpoint to use.","type":"String","url":"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-ec2-imds.html"},{"name":"ec2_metadata_service_endpoint_mode","displayName":"EC2 metadata service (IMDS) endpoint mode","description":"Communication mode to use with the metadata service.","type":"String","url":"https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-ec2-imds.html","rules":{"values":["IPv4","IPv6"]}},{"name":"http_proxy","displayName":"HTTP proxy","description":"Address of an HTTP proxy to use when accessing the AWS API.","type":"String","url":"https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-http.html","rules":{"regex":"[-a-zA-Z0-9@:%._\\\\+~#=]{1,256}\\\\.[a-zA-Z0-9()]{1,6}\\\\b([-a-zA-Z0-9()@:%_\\\\+.~#?&//=]*)"}},{"name":"max_retries","displayName":"Max retries","description":"Maximum number of times an API call is retried when AWS throttles requests or on transient failures.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#max_retries"},{"name":"profile","displayName":"Profile","description":"AWS profile name as set in the shared configuration and credentials files.","type":"String","url":"https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html"},{"name":"shared_config_files","displayName":"Shared config files","description":"List of paths to AWS shared config files.","type":"String","url":"https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html"},{"name":"shared_credentials_files","displayName":"Shared credentials files","description":"List of paths to the shared credentials files.","type":"String","url":"https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html"},{"name":"skip_credentials_validation","displayName":"Skip credentials validation","description":"Whether to skip credentials validation via the STS API or not.","type":"Boolean","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html"},{"name":"sts_region","displayName":"Security Token Servic (STS) region","description":"AWS region for Security Token Service (STS)","type":"String","url":"https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html"},{"name":"s3_use_path_style","displayName":"Use path-style for S3","description":"Whether to enable the request to use path-style addressing or not
i.e., https://s3.amazonaws.com/BUCKET/KEY.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html"},{"name":"skip_metadata_api_check","displayName":"Skip metadata API check","description":"Whether to skip the AWS Metadata API check or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#skip_metadata_api_check"},{"name":"use_dualstack_endpoint","displayName":"Use dual-stack endpoint","description":"Force the provider to resolve endpoints with DualStack capability.","type":"Boolean","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html"},{"name":"use_fips_endpoint","displayName":"Use FIPS endpoint","description":"Force the provider to resolve endpoints with FIPS capability.","type":"Boolean","url":"https://aws.amazon.com/compliance/fips/"},{"name":"assume_role","displayName":"Assume role","description":"Set of temporary security credentials that you can use to access AWS resources.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#assume_role","attributes":[{"name":"duration","displayName":"Duration","description":"Duration of the assume role session.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#duration"},{"name":"external_id","displayName":"External ID","description":"External identifier to use when assuming the role.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#external_id"},{"name":"policy","displayName":"Policy","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy"},{"name":"policy_arns","displayName":"Policy ARNs","description":"Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy_arns"},{"name":"role_arn","displayName":"Role ARN","description":"ARN of the IAM Role to assume. Can also be set with the AWS_ROLE_ARN environment variable.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#role_arn"},{"name":"session_name","displayName":"Session name","description":"Session name to use when assuming the role. Can also be set with the AWS_ROLE_SESSION_NAME environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#session_name"},{"name":"source_identity","displayName":"Source identity","description":"Source identity specified by the principal assuming the role.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#source_identity"},{"name":"tags","displayName":"Tags","description":"Map of assume role session tags.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#tags"},{"name":"transitive_tag_keys","displayName":"Transitive tag keys","description":"Set of assume role session tag keys to pass to any subsequent sessions.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#transitive_tag_keys"}]},{"name":"assume_role_with_web_identity","displayName":"Assume role with web identity","description":"Configuration block for assuming an IAM role using a web identity.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#assume_role_with_web_identity","attributes":[{"name":"duration","displayName":"Duration","description":"Duration of the assume role session.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#duration"},{"name":"policy","displayName":"Policy","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy"},{"name":"policy_arns","displayName":"Policy ARNs","description":"Set of Amazon Resource Names (ARNs) of IAM Policies describing further restricting permissions for the IAM Role being assumed.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#policy_arns"},{"name":"role_arn","displayName":"Role ARN","description":"ARN of the IAM Role to assume. Can also be set with the AWS_ROLE_ARN environment variable.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#role_arn"},{"name":"session_name","displayName":"Session name","description":"Session name to use when assuming the role. Can also be set with the AWS_ROLE_SESSION_NAME environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#session_name"},{"name":"web_identity_token","displayName":"Web identity token","description":"Value of a web identity token from an OpenID Connect (OIDC) or OAuth provider. One of web_identity_token or web_identity_token_file is required.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#web_identity_token"},{"name":"web_identity_token_file","displayName":"Web identity token file","description":"File containing a web identity token from an OpenID Connect (OIDC) or OAuth provider. One of web_identity_token_file or web_identity_token is required. Can also be set with the AWS_WEB_IDENTITY_TOKEN_FILE environment variable.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#web_identity_token_file"}]},{"name":"default_tags","displayName":"Default tags","description":"You can assign metadata to your AWS resources in the form of tags.
Each tag is a label consisting of a user-defined key and value.
Tags can help you manage, identify, organize, search for, and filter resources.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html","attributes":[{"name":"tags","displayName":"Tags","description":"Key-value map of tags to apply to all resources.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#tags"}]},{"name":"ignore_tags","displayName":"Ignore tags","description":"Configuration block with resource tag settings to ignore across all resources handled by this provider
(except any individual service tag resources such as aws_ec2_tag)
for situations where external systems are managing certain resource tags.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html","attributes":[{"name":"keys","displayName":"Keys","description":"List of exact resource tag keys to ignore across all resources handled by this provider.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#keys"},{"name":"key_prefixes","displayName":"Key prefixes","description":"List of resource tag key prefixes to ignore across all resources handled by this provider.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs#key_prefixes"}]},{"name":"endpoints","displayName":"Endpoints","description":"Configure the Terraform AWS Provider to use customized endpoints.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/custom-service-endpoints"}],"data":[{"type":"aws_ami","displayName":"Amazon Machine Image (AMI)","description":"An Amazon Machine Image (AMI) is a supported and maintained image provided by AWS
that provides the information required to launch an instance.","icon":"Aws_EC2_AMI","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html","attributes":[{"name":"owners","displayName":"Owners","description":"List of AMI owners to limit search.","type":"Array","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html"},{"name":"most_recent","displayName":"Most recent","description":"If more than one result is returned, use the most recent AMI.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami#most_recent"},{"name":"executable_users","displayName":"Executable users","description":"Limit search to users with explicit launch permission on the image.","type":"Array","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html"},{"name":"include_deprecated","displayName":"Include deprecated","description":"If true, all deprecated AMIs are included in the response.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html"},{"name":"name_regex","displayName":"Name regex","description":"Regex string to apply to the AMI list returned by AWS.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami#name_regex"}]},{"type":"aws_rds_engine_version","displayName":"Relational Database Service engine version","description":"Information about a Relational Database Service engine version.

Amazon Relational Database Service (Amazon RDS) is a web service
that makes it easier to set up, operate, and scale a relational database in the AWS Cloud.","icon":"Aws_RDS","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html","attributes":[{"name":"engine","displayName":"Engine","description":"A DB engine is the specific relational database software that runs on your DB instance.","required":true,"type":"String","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Concepts.DBInstance.engine","rules":{"values":["aurora","aurora-mysql","aurora-postgresql","docdb","mariadb","mysql","neptune","oracle-ee","oracle-se","oracle-se1","oracle-se2","postgres","sqlserver-ee","sqlserver-ex","sqlserver-se","sqlserver-web"]}},{"name":"default_only","displayName":"Default only","description":"When set to true, the default version for the specified engine or combination of engine and major version will be returned.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#default_only"},{"name":"version","displayName":"Version","description":"Version of the DB engine.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#version"},{"name":"preferred_versions","displayName":"Preferred versions","description":"Ordered list of preferred engine versions.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#preferred_versions"},{"name":"include_all","displayName":"Include all","description":"When set to true, the specified version or member of prefered versions will be returned even if it is deprecated.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#include_all"},{"name":"parameter_group_family","displayName":"Parameter group family","description":"Name of a specific DB parameter group family.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_engine_version#parameter_group_family"}]},{"type":"aws_availability_zones","displayName":"Availability Zones","description":"The Availability Zones data source allows access to the list of AWS Availability Zones
which can be accessed by an AWS account within the region configured in the provider.

This is different from the Availability Zone (singular).","icon":"Aws_Local-Zones","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html","attributes":[{"name":"all_availability_zones","displayName":"All Availability Zones","description":"Set to true to include all Availability Zones and Local Zones regardless of your opt in status.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#all_availability_zones"},{"name":"exclude_names","displayName":"Exclude names","description":"List of Availability Zone names to exclude.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#exclude_names"},{"name":"exclude_zone_ids","displayName":"Exclude zone IDs","description":"List of Availability Zone IDs to exclude.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#exclude_zone_ids"},{"name":"state","displayName":"State","description":"Allows to filter list of Availability Zones based on their current state.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones#state","rules":{"values":["available","impaired","information","unavailable"]}}]}],"modules":[{"type":"server","displayName":"Server","icon":"Aws_Servers","model":"DefaultModel"}],"resources":[{"type":"aws_security_group","displayName":"Security group","description":"A security group controls the traffic that is allowed to reach and leave the resources that it is associated with.","icon":"AwsSecurityGroup","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html","attributes":[{"name":"description","displayName":"Description","description":"Description of the security group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#description"},{"name":"name","displayName":"Name","description":"Name of the security group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#name_prefix"},{"name":"revoke_rules_on_delete","displayName":"Revoke rules on delete","description":"Instruct Terraform to revoke all of the Security Groups attached ingress and egress rules before deleting the rule itself.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#revoke_rules_on_delete"},{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the security group.","containerRef":"aws_vpc","linkAttribute":"id","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#vpc_id"},{"name":"egress","displayName":"Egress","description":"Configuration block for egress rules","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#egress","attributes":[{"name":"from_port","displayName":"From port","description":"Start port (or ICMP type number if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#from_port"},{"name":"to_port","displayName":"To port","description":"End port (or ICMP code if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#to_port"},{"name":"protocol","displayName":"Protocol","description":"The protocol. If not icmp, tcp, udp, or all use the -1 protocol number.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#protocol"},{"name":"cidr_blocks","displayName":"CIDR blocks","description":"List of CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#cidr_blocks"},{"name":"ipv6_cidr_blocks","displayName":"IPv6 CIDR blocks","description":"List of IPv6 CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ipv6_cidr_blocks"}]},{"name":"ingress","displayName":"Ingress","description":"Configuration block for Ingress rules","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ingress","attributes":[{"name":"from_port","displayName":"From port","description":"Start port (or ICMP type number if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#from_port"},{"name":"to_port","displayName":"To port","description":"End port (or ICMP code if protocol is icmp).","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#to_port"},{"name":"protocol","displayName":"Protocol","description":"The protocol. If not icmp, tcp, udp, or all use the -1 protocol number.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#protocol"},{"name":"cidr_blocks","displayName":"CIDR blocks","description":"List of CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#cidr_blocks"},{"name":"ipv6_cidr_blocks","displayName":"IPv6 CIDR blocks","description":"List of IPv6 CIDR blocks.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#ipv6_cidr_blocks"}]},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_instance","displayName":"EC2 Instance","description":"Provides an EC2 instance resource.","icon":"Aws_EC2-Instance","model":"DefaultModel","url":"https://docs.aws.amazon.com/ec2/index.html","attributes":[{"name":"security_groups","displayName":"Security groups","description":"List of security group names to associate with.","linkAttribute":"name","linkRef":"aws_security_group","linkType":"Reverse","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#security_groups"},{"name":"vpc_security_group_ids","displayName":"VPC security group IDs","description":"List of security group IDs to associate with.","linkAttribute":"id","linkRef":"aws_security_group","linkType":"Reverse","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#vpc_security_group_ids"},{"name":"subnet_id","displayName":"Subnet ID","description":"The VPC Subnet ID to launch in.","linkAttribute":"id","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#subnet_id"}]},{"type":"aws_volume_attachment","displayName":"AWS volume attachment","description":"Attach an EBS volume to one or more instances","icon":"Aws_Elastic-Block-Store_Volume","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html","attributes":[{"name":"device_name","displayName":"Device name","description":"The device name to expose to the instance (for example, /dev/sdh or xvdh).","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#device_name"},{"name":"volume_id","displayName":"Volume ID","description":"The ID of the Volume to attach to.","linkAttribute":"id","linkRef":"aws_ebs_volume","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#volume_id"},{"name":"instance_id","displayName":"Instance ID","description":"The ID of the Instance to attach to.","linkAttribute":"id","linkRef":"aws_instance","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/volume_attachment#instance_id"}]},{"type":"aws_ebs_volume","displayName":"EBS Volume","description":"A durable, block-level storage device that you can attach to your instances.","icon":"Aws_Elastic-Block-Store_Volume","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes.html","attributes":[{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone where the EBS volume will exist.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ebs_volume#availability_zone"}]},{"type":"aws_elb","displayName":"AWS ELB","description":"Automatically distributes incoming application traffic across multiple targets and virtual appliances in one or more Availability Zones.","icon":"Aws_Elastic-Load-Balancing_Network-Load-Balancer","model":"DefaultModel","url":"https://aws.amazon.com/elasticloadbalancing/","attributes":[{"name":"listener","displayName":"Listener","description":"A list of listener blocks. Each listener block supports fields documented below.","required":true,"type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#listener","attributes":[{"name":"instance_port","displayName":"Instance port","description":"The port on the instance to route to.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instance_port"},{"name":"lb_port","displayName":"LB port","description":"The port to listen on for the load balancer.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#lb_port"},{"name":"lb_protocol","displayName":"LB protocol","description":"The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#lb_protocol"},{"name":"instance_protocol","displayName":"Instance protocol","description":"The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instance_protocol"}]},{"name":"subnets","displayName":"Subnets","description":"A list of subnet IDs to attach to the ELB.","linkAttribute":"id","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#subnets"},{"name":"security_groups","displayName":"Security groups","description":"A list of security group IDs to assign to the ELB.","linkAttribute":"id","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#security_groups"},{"name":"instances","displayName":"Instances","description":"A list of instance ids to place in the ELB pool.","linkAttribute":"id","linkRef":"aws_instance","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb#instances"}]},{"type":"aws_vpc","displayName":"Virtual Private Cloud (VPC)","description":"Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you\'ve defined.","icon":"Aws_Virtual-Private-Cloud","isContainer":true,"model":"DefaultContainer","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html","attributes":[{"name":"cidr_block","displayName":"CIDR block","description":"IPv4 CIDR block of the desired VPC.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"regex":"^([0-9]{1,3}\\\\.){3}[0-9]{1,3}(\\\\/([0-9]|[1-2][0-9]|3[0-2]))?$"}},{"name":"ipv4_ipam_pool_id","displayName":"IPv4 IPAM pool ID","description":"ID of an IPv4 IPAM pool you want to use for allocating this VPC\'s CIDR.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html"},{"name":"ipv4_netmask_length","displayName":"IPv4 netmask length","description":"Netmask length of the IPv4 CIDR you want to allocate to this VPC.","type":"Number","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"max":32,"min":1}},{"name":"ipv6_cidr_block","displayName":"IPv6 CIDR block","description":"IPv6 CIDR block to request from an IPAM Pool.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"regex":"[a-fA-F0-9]{4}(:[a-fA-F0-9]{4}){7}"}},{"name":"ipv6_ipam_pool_id","displayName":"IPv6 IPAM pool ID","description":"IPAM Pool ID for a IPv6 pool","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html"},{"name":"ipv6_netmask_length","displayName":"IPv6 netmask length","description":"Netmask length to request from IPAM Pool.","type":"Number","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html","rules":{"values":[56]}},{"name":"ipv6_cidr_block_network_border_group","displayName":"IPv6 CIDR block network border group","description":"Restrict advertisement of public addresses to specific Network Border Groups such as LocalZones.","type":"String","url":"https://docs.aws.amazon.com/vpc/latest/userguide/Extend_VPCs.html"},{"name":"instance_tenancy","displayName":"Instance tenancy","description":"Allowed tenancy of instances launched into the selected VPC.","type":"String","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html","rules":{"values":["default","dedicated"]}},{"name":"enable_dns_support","displayName":"Enable DNS support","description":"Enable DNS support in the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html"},{"name":"enable_dns_hostnames","displayName":"Enable DNS hostnames","description":"Enable DNS hostnames in the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html"},{"name":"enable_classiclink","displayName":"Enable ClassicLink","description":"Enable ClassicLink for the VPC, allowing you to link EC2-Classic instances to the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"},{"name":"enable_classiclink_dns_support","displayName":"Enable ClassicLink DNS support","description":"Enable ClassicLink DNS Support for the VPC.
If set to true, DNS hostnames that are addressed between linked EC2-Classic instances and instances in the VPC will resolve to private IP addresses.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html"},{"name":"assign_generated_ipv6_cidr_block","displayName":"Assign generated IPv6 CIDR block","description":"Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html"},{"name":"enable_network_address_usage_metrics","displayName":"Enable network address usage metrics","description":"Enable network address usage metrics for the VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/vpc/latest/userguide/network-address-usage.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_internet_gateway","displayName":"Internet gateway","description":"An internet gateway is a horizontally scaled, redundant, and highly available VPC component
that allows communication between your VPC and the internet.","icon":"Aws_VPC_Internet-Gateway","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The VPC ID to create the gateway in.","containerRef":"aws_vpc","type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_route","displayName":"AWS route","description":"Contains a set of rules, called routes, that determine where network traffic from your subnet or gateway is directed.","icon":"Aws_Route-53","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"route_table_id","displayName":"Route table ID","description":"The ID of the routing table.","containerRef":"aws_route","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route#route_table_id"},{"name":"gateway_id","displayName":"Gateway ID","description":"Identifier of a VPC internet gateway or a virtual private gateway.","linkAttribute":"id","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route#gateway_id"}]},{"type":"aws_subnet","displayName":"Subnet","description":"A subnet is a range of IP addresses in your VPC. You can launch AWS resources into your subnets.","icon":"Aws_Mesh","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The VPC ID to create the subnet in.","containerRef":"aws_vpc","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#vpc_id"},{"name":"gateway_id","type":"Link","linkAttribute":"id","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink"},{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone for the subnet.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#availability_zone"},{"name":"availability_zone_id","displayName":"Availability zone ID","description":"The ID of the Availability Zone for the subnet.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#availability_zone_id"},{"name":"cidr_block","displayName":"CIDR block","description":"IPv4 CIDR block for the subnet","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#cidr_block","rules":{"regex":"^([0-9]{1,3}\\\\.){3}[0-9]{1,3}(\\\\/([0-9]|[1-2][0-9]|3[0-2]))?$"}},{"name":"customer_owned_ipv4_pool","displayName":"Customer owned IPv4 pool","description":"The ID of an address pool that you own.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#customer_owned_ipv4_pool"},{"name":"map_customer_owned_ip_on_launch","displayName":"Map customer owned IP on launch","description":"Specify true to indicate that network interfaces created in the subnet should be assigned a customer owned IP address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#map_customer_owned_ip_on_launch"},{"name":"map_customer_ip_on_launch","displayName":"Map customer IP on launch","description":"Specify true to indicate that instances launched into the subnet should be assigned a public IP address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#map_public_ip_on_launch"},{"name":"enable_dns64","displayName":"Enable DNS64","description":"Whether DNS queries made to the Amazon-provided DNS Resolver
in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_dns64"},{"name":"assign_ipv6_address_on_creation","displayName":"Assign IPv6 address on creation","description":"Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#assign_ipv6_address_on_creation"},{"name":"ipv6_cidr_block","displayName":"IPv6 CIDR block","description":"The IPv6 network range for the subnet, in CIDR notation","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#ipv6_cidr_block","rules":{"regex":"[a-fA-F0-9]{4}(:[a-fA-F0-9]{4}){7}"}},{"name":"ipv6_native","displayName":"IPv6 native","description":"Whether to create an IPv6-only subnet.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#ipv6_native"},{"name":"enable_resource_name_dns_a_record_on_launch","displayName":"Enable ressource name DNS A record on launch","description":"Whether to respond to DNS queries for instance hostnames with DNS A records.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_resource_name_dns_a_record_on_launch"},{"name":"enable_resource_name_dns_aaaa_record_on_launch","displayName":"Enable ressource name DNS AAAA record on launch","description":"Whether to respond to DNS queries for instance hostnames with DNS AAAA records.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#enable_resource_name_dns_aaaa_record_on_launch"},{"name":"private_dns_hostname_type_on_launch","displayName":"Private DNS hostname type on launch","description":"The type of hostnames to assign to instances in the subnet at launch.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#private_dns_hostname_type_on_launch"},{"name":"outpost_arn","displayName":"Outpost Amazon Resource Name (ARN)","description":"Amazon Resource Name (ARN) of the Outpost","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#outpost_arn"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet#tags"}]},{"type":"aws_db_subnet_group","displayName":"AWS DB subnet group","description":"A collection of subnets that you create in a VPC and that you then designate for your DB instances.","icon":"AwsDbSubnetGroup","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets","attributes":[{"name":"subnet_ids","displayName":"Subnet IDs","description":"A list of VPC subnet IDs.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html"}]},{"type":"aws_route53_zone","displayName":"AWS route 53 zone","description":"A collection of records","icon":"Aws_Route-53-Hosted-Zone","isContainer":true,"model":"DefaultContainer","url":"https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html","attributes":[{"name":"name","displayName":"Name","description":"This is the name of the hosted zone.","required":true,"type":"String","containerRef":"aws_route53_zone","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_zone#name"},{"name":"records","displayName":"Records","type":"Link","linkModel":"defaultLink","linkAttribute":"name","linkRef":"aws_route53_record","linkType":"Default"}]},{"type":"aws_route53_record","displayName":"AWS route 53 record","description":"Create records to tell the DNS how to route traffic for that domain.","icon":"Aws_Route-53_Route-Table","model":"DefaultModel","url":"https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html","attributes":[{"name":"zone_id","displayName":"Zone ID","description":"The ID of the hosted zone to contain this record.","containerRef":"aws_route53_zone","required":true,"type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record#zone_id"},{"name":"records","displayName":"Records","description":"A string list of records.","linkRef":"aws_route53_record","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record#records"}]},{"type":"aws_db_instance","displayName":"AWS DB instance","description":"An isolated database environment.","icon":"Aws_EC2_DB-Instance","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html","attributes":[{"name":"allocated_storage","displayName":"Allocated storage","description":"The allocated storage in gigabytes.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#allocated_storage"},{"name":"db_name","displayName":"Database name","description":"The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#db_name"},{"name":"engine","displayName":"Database engine","description":"The database engine to use.","linkRef":"aws_rds_engine_version","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#engine"},{"name":"vpc_security_group_ids","displayName":"VPC security groups","description":"A list of VPC security groups to associate.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#vpc_security_group_ids"},{"name":"instance_class","displayName":"Instance class","description":"The instance type of the Relational Database Service instance.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#instance_class"},{"name":"db_subnet_group_name","displayName":"Subnet group name","description":"Name of DB subnet group. DB instance will be created in the VPC associated with the DB subnet group.","linkAttribute":"name","linkRef":"aws_db_subnet_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#db_subnet_group_name"},{"name":"username","displayName":"Username","description":"Username for the master DB user.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#username"},{"name":"password","displayName":"Password","description":"Password for the master DB user.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#password"},{"name":"skip_final_snapshot","displayName":"Skip final snapshot","description":"Determines whether a final DB snapshot is created before the DB instance is deleted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#skip_final_snapshot"},{"name":"publicly_accessible","displayName":"Publicly accessible","description":"Controls if instance is publicly accessible.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#publicly_accessible"},{"name":"allow_major_version_upgrade","displayName":"Allow major version upgrade","description":"Indicates that major version upgrades are allowed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#allow_major_version_upgrade"},{"name":"apply_immediately","displayName":"Apply immediately","description":"Specifies whether any database modifications are applied immediately, or during the next maintenance window.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#apply_immediately"},{"name":"auto_minor_version_upgrade","displayName":"Auto minor version upgrade","description":"Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#auto_minor_version_upgrade"},{"name":"availability_zone","displayName":"Availability zone","description":"The Availability Zone for the Relational Database Service instance.","linkAttribute":"id","linkRef":"aws_availability_zones","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#availability_zone"},{"name":"backup_retention_period","displayName":"Backup retention period","description":"The days to retain backups for.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#backup_retention_period","rules":{"max":"35","min":"0"}},{"name":"backup_window","displayName":"Backup window","description":"The daily time range (in UTC) during which automated backups are created if they are enabled.
Must not overlap with maintenance_window.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#backup_window"},{"name":"character_set_name","displayName":"Character set name","description":"Specifies the character set to associate with the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#character_set_name"},{"name":"copy_tags_to_snapshot","displayName":"Copy tags to snapshot","description":"Whether to copy all Instance tags to snapshots, or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#copy_tags_to_snapshot"},{"name":"delete_automated_snapshots","displayName":"Delete automated snapshots","description":"Whether to remove automated backups when the DB instance is deleted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#delete_automated_snapshots"},{"name":"deletion_protection","displayName":"Deletion protection","description":"If \'Deletion protection\' is set to true, the DB instance cannot be deleted. Otherwise, it can.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#deletion_protection"},{"name":"final_snapshot_identifier","displayName":"Final snapshot identifier","description":"The name of the final DB snapshot when this DB instance is deleted.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#final_snapshot_identifier"},{"name":"iam_database_authentication_enabled","displayName":"IAM database authentication enabled","description":"Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#iam_database_authentication_enabled"},{"name":"identifier","displayName":"Identifier","description":"The name of the Relational Database Service instance.
Conflicts with identifier_prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#identifier"},{"name":"identifier_prefix","displayName":"Identifier prefix","description":"Creates a unique identifier beginning with the specified prefix.
Conflicts with identifier.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#identifier_prefix"},{"name":"iops","displayName":"IOPS","description":"The amount of provisioned IOPS.
Can only be set when storage_type is io1 or p3.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#iops"},{"name":"maintenance_window","displayName":"Maintenance window","description":"The window to perform maintenance in.
Format: ddd:hh24:mi-ddd:hh24:mi.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#maintenance_window"},{"name":"max_allocated_storage","displayName":"Max allocated storage","description":"The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#max_allocated_storage"},{"name":"monitoring_interval","displayName":"Monitoring interval","description":"The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#monitoring_interval","rules":{"values":["0","1","5","10","15","30","60"]}},{"name":"multi_az","displayName":"Multi AZ","description":"Specifies if the Relational Database Service instance is on multiple Availability Zones.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#multi_az"},{"name":"network_type","displayName":"Network type","description":"The type of network connection to use for connecting to an Amazon Relational Database Service instance.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#network_type","rules":{"values":["IPV4","DUAL"]}},{"name":"option_group_name","displayName":"Option group name","description":"The name of the option group to associate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#option_group_name"},{"name":"parameter_group_name","displayName":"Parameter group name","description":"The name of the DB parameter group to associate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#parameter_group_name"},{"name":"performance_insights_enabled","displayName":"Performance insights enabled","description":"Specifies whether Performance Insights are enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#performance_insights_enabled"},{"name":"performance_insights_retention_period","displayName":"Performance insights retention period","description":"The amount of time in days to retain Performance Insights data.
Must be a multiple of 31.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#performance_insights_retention_period"},{"name":"port","displayName":"Port","description":"The port on which the DB accepts connections.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#port","rules":{"max":"65535","min":"1"}},{"name":"replica_mode","displayName":"Replica mode","description":"Specifies whether the replica is in either mounted or open-read-only mode.
This attribute is only supported by Oracle instances.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#replica_mode","rules":{"values":["mounted","open-read-only"]}},{"name":"restore_to_point_in_time","displayName":"Restore to point in time","description":"Restore from a point in time.
Must be specified if restore is set to true.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#restore_to_point_in_time","attributes":[{"name":"restore_time","displayName":"Restore time","description":"The date and time to restore from.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#restore_time"},{"name":"source_db_instance_identifier","displayName":"Source DB instance identifier","description":"The identifier of the source DB instance from which to restore.","linkRef":"aws_db_instance","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_db_instance_identifier"},{"name":"use_latest_restorable_time","displayName":"Use latest restorable time","description":"Specifies whether to restore the DB instance to the latest restorable backup time.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#use_latest_restorable_time"},{"name":"source_db_instance_automated_backups_arn","displayName":"Source DB instance automated backups ARN","description":"The ARN of the automated backup from which to restore.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_db_instance_automated_backups_arn"},{"name":"source_dbi_resource_id","displayName":"Source DBI resource ID","description":"The resource ID of the source DB instance from which to restore.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_dbi_resource_id"}]},{"name":"s3_import","displayName":"S3 import","description":"Import from an S3 bucket.
Must be specified if import is set to true.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#s3_import","attributes":[{"name":"bucket_name","displayName":"Bucket name","description":"The name of the S3 bucket where the backup is stored.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#bucket_name"},{"name":"bucket_prefix","displayName":"Bucket prefix","description":"The path to the backup.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#bucket_prefix"},{"name":"ingestion_role","displayName":"Ingestion role","description":"Role applied to load the data.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#ingestion_role"},{"name":"source_engine","displayName":"Source engine","description":"Source engine for the backup.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_engine"},{"name":"source_engine_version","displayName":"Source engine version","description":"Version of the source engine used for the backup.","linkRef":"aws_rds_engine_version","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#source_engine_version"}]},{"name":"storage_encrypted","displayName":"Storage encrypted","description":"Specifies whether the DB instance is encrypted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_encrypted"},{"name":"storage_type","displayName":"Storage type","description":"The type of storage for the DB.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_type","rules":{"values":["standard","gp2","gp3","io1"]}},{"name":"storage_throughput","displayName":"Storage throughput","description":"The storage throughput value for the DB instance.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#storage_throughput"},{"name":"timezone","displayName":"Timezone","description":"The timezone of the DB instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#timezone"},{"name":"customer_owned_ip_enabled","displayName":"Customer owned IP enabled","description":"Specifies whether the DB instance is a customer-owned IP address (CoIP) enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#customer_owned_ip_enabled"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the DB instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#tags"}]},{"type":"aws_key_pair","displayName":"AWS key pair","description":"A set of security credentials to prove your identity when connecting to an Amazon EC2 instance.","icon":"Aws_Identity-Access-Management_Long-Term-Security-Credential","model":"DefaultModel","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html","attributes":[{"name":"key_name","displayName":"Key name","description":"The name for the key pair.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#key_name"},{"name":"public_key","displayName":"Public key","description":"The public key material.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#public_key"},{"name":"key_name_prefix","displayName":"Key name prefix","description":"Creates a unique name beginning with the specified prefix.
Conflicts with key_name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#key_name_prefix"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair#tags"}]},{"type":"aws_route_table","displayName":"Route table","description":"A route table contains a set of rules, called routes, that determine where network traffic from your subnet or gateway is directed.","icon":"Aws_Route-53_Route-Table","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the route table.","containerRef":"aws_vpc","required":true,"type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"propagating_vgws","displayName":"Propagating Virtual GateWays (VGWS)","description":"List of virtual gateways for propagation","type":"Array","url":"https://docs.aws.amazon.com/directconnect/latest/UserGuide/virtualgateways.html"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"}]},{"type":"aws_route_table_association","displayName":"Route table association","description":"Association between a route table and a subnet, internet gateway, or virtual private gateway.","icon":"Aws_Connector","model":"DefaultModel","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC for which to create the route table association.","containerRef":"aws_vpc","type":"Reference","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html"},{"name":"route_table_id","displayName":"Route table ID","description":"The ID of the route table to associate the subnet with.","linkRef":"aws_route_table","linkType":"Reverse","linkModel":"defaultLink","required":true,"type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html"},{"name":"gateway_id","displayName":"Gateway ID","description":"The ID of the gateway to associate the route table with. Conflicts with subnet_id.","linkRef":"aws_internet_gateway","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html"},{"name":"subnet_id","displayName":"Subnet ID","description":"The ID of the subnet to associate the route table with. Conflicts with gateway_id.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html"}]},{"type":"aws_s3_bucket","displayName":"S3 bucket","description":"Amazon Simple Storage Service (Amazon S3) is an object storage service.","icon":"Aws_Storage-Service_Bucket","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html","attributes":[{"name":"bucket","displayName":"Bucket name","description":"The name of the bucket.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#bucket","rules":{"max":63,"min":1}},{"name":"bucket_prefix","displayName":"Bucket prefix","description":"Creates a unique bucket name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#bucket_prefix","rules":{"max":63,"min":1}},{"name":"force_destroy","displayName":"Force destroy","description":"Indicates if all objects (including any locked objects) should be deleted from the bucket
when the bucket is destroyed so that the bucket can be destroyed without error.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#force_destroy"},{"name":"object_lock_enabled","displayName":"Object lock enabled","description":"Indicates whether this bucket has an Object Lock configuration enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#object_lock_enabled"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#tags"}]},{"type":"aws_s3_bucket_acl","displayName":"S3 bucket Access Control List (ACL)","description":"Amazon S3 access control lists (ACLs) enable you to manage access to buckets and objects.","icon":"Aws_Storage-Service_Bucket-ACL","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html","attributes":[{"name":"bucket","displayName":"Bucket","description":"The name of the bucket to put the ACL in.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#bucket"},{"name":"acl","displayName":"ACL","description":"ACL to apply to the bucket
Conflicts with access_control_policy","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#acl"},{"name":"expected_bucket_owner","displayName":"Bucket owner","description":"Account ID of the expected bucket owner","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl#expected_bucket_owner"}]},{"type":"aws_lb","displayName":"Application Load Balancer (LB)","description":"A load balancer serves as the single point of contact for clients. The load balancer distributes incoming application traffic across multiple targets, in multiple Availability Zones.","icon":"Aws_Application-Load-Balancer","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html","attributes":[{"name":"vpc_id","displayName":"VPC ID","description":"The ID of the VPC to create the ALB in.","containerRef":"aws_vpc","type":"Reference","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#vpc_id"},{"name":"name","displayName":"Name","description":"The name of the LB. This name must be unique within your AWS account.
If not specified, Terraform will autogenerate a name beginning with tf-lb.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#name","rules":{"regex":"^([a-zA-Z0-9]+-)*[a-zA-Z0-9]+$"}},{"name":"internal","displayName":"Internal LB","description":"If true, the LB will be internal.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#internal"},{"name":"load_balancer_type","displayName":"Load balancer type","description":"The type of load balancer to create.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#load_balancer_type","rules":{"values":["application","gateway","network"]}},{"name":"access_logs","displayName":"Access logs","description":"An Access Logs block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb","attributes":[{"name":"bucket","displayName":"Bucket","description":"The S3 bucket name to store the logs in.","linkRef":"aws_s3_bucket","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#bucket"},{"name":"enabled","displayName":"Enabled","description":"Boolean to enable / disable access_logs. Defaults to false, even when bucket is specified.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enabled"},{"name":"prefix","displayName":"Prefix","description":"The S3 bucket prefix. Logs are stored in the root if not configured.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#prefix"}]},{"name":"customer_owned_ipv4_pool","displayName":"Customer owned ivp4 pool","description":"The ID of the customer owned ipv4 pool to use for this load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#customer_owned_ipv4_pool"},{"name":"desync_mitigation_mode","displayName":"Customer owned ivp4 pool","description":"Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#desync_mitigation_mode","rules":{"values":["defensive","monitor","strictest"]}},{"name":"drop_invalid_header_fields","displayName":"Drop invalid header fields","description":"Indicates whether HTTP headers with header fields that are not valid are removed by the load balancer (true) or routed to targets (false).
The default is false. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. Only valid for Load Balancers of type.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#drop_invalid_header_fields"},{"name":"enable_cross_zone_load_balancing","displayName":"Enable cross zone load balancing","description":"If true, cross-zone load balancing of the load balancer will be enabled. For network and gateway type load balancers, this feature is disabled by default (false).
For application load balancer this feature is always enabled (true) and cannot be disabled. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_cross_zone_load_balancing"},{"name":"enable_deletion_protection","displayName":"Enable deletion protection","description":"If true, deletion of the load balancer will be disabled via the AWS API. This will prevent Terraform from deleting the load balancer. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_deletion_protection"},{"name":"enable_http2","displayName":"Enable http2","description":"Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_http2"},{"name":"enable_waf_fail_open","displayName":"Enable WAF fail open","description":"Indicates whether to allow a WAF-enabled load balancer to route requests to targets
if it is unable to forward the request to AWS WAF. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#enable_waf_fail_open"},{"name":"idle_timeout","displayName":"Idle timeout","description":"The time in seconds that the connection is allowed to be idle.
Only valid for Load Balancers of type application. Default: 60.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#idle_timeout"},{"name":"ip_address_type","displayName":"IP address type","description":"The type of IP addresses used by the subnets for your load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#ip_address_type","rules":{"values":["ipv4","dualstack"]}},{"name":"security_groups","displayName":"Security groups","description":"A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#security_groups"},{"name":"preserve_host_header","displayName":"Preserve host header","description":"Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request
and send it to the target without any change. Defaults to false.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#preserve_host_header"},{"name":"subnet_mapping","displayName":"Subnet mapping","description":"A subnet mapping block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnet_mapping","attributes":[{"name":"subnet_id","displayName":"Subnet ID","description":"ID of the subnet of which to attach to the load balancer. You can specify only one subnet per Availability Zone.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnet_id"},{"name":"allocation_id","displayName":"Allocation ID","description":"The allocation ID of the Elastic IP address for an internet-facing load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#allocation_id"},{"name":"ipv6_address","displayName":"IPv6 address","description":"The IPv6 address. You associate IPv6 CIDR blocks with your VPC and choose the subnets
where you launch both internet-facing and internal Application Load Balancers or Network Load Balancers.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#ipv6_address"},{"name":"private_ipv4_address","displayName":"Private IPv4 address","description":"The private IPv4 address for an internal load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#private_ipv4_address"}]},{"name":"subnets","displayName":"Subnets","description":"A list of subnet IDs to attach to the LB. Subnets cannot be updated for Load Balancers of type network.
Changing this value for load balancers of type network will force a recreation of the resource.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnets"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix. Conflicts with name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#name_prefix"},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource. If configured with a provider default_tags configuration block present,
tags with matching keys will overwrite those defined at the provider-level.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#tags"}]},{"type":"aws_lb_target_group","displayName":"Load balancer target group","description":"Target groups route requests to one or more registered targets, using the protocol and port number that you specify.
You can register a target with multiple target groups","icon":"Aws_Application-Load-Balancer-Target-Group","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html","attributes":[{"name":"connection_termination","displayName":"Connection termination","description":"Whether to terminate connections at the end of the deregistration timeout on Network Load Balancers.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#connection_termination"},{"name":"deregistration_delay","displayName":"Deregistration delay","description":"Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#deregistration_delay"},{"name":"lambda_multi_value_headers_enabled","displayName":"Lambda multi value headers enabled","description":"Whether the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#lambda_multi_value_headers_enabled"},{"name":"load_balancing_algorithm_type","displayName":"Load balancing algorithm type","description":"Determines how the load balancer selects targets when routing requests.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#load_balancing_algorithm_type","rules":{"values":["round_robin","least_outstanding_requests"]}},{"name":"name","displayName":"Name","description":"Name of the target group. If omitted, Terraform will assign a random, unique name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#name_prefix"},{"name":"port","displayName":"Port","description":"Port on which targets receive traffic, unless overridden when registering a specific target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#port"},{"name":"preserve_client_ip","displayName":"Preserve client IP","description":"Whether client IP preservation is enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#preserve_client_ip"},{"name":"protocol","displayName":"Protocol","description":"Protocol to use for routing traffic to the targets.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol","rules":{"values":["GENEVE","HTTP","HTTPS","TCP","TCP_UDP","TLS","UDP"]}},{"name":"protocol_version","displayName":"Protocol version","description":"Only applicable when protocol is HTTP or HTTPS. The protocol version.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol_version"},{"name":"proxy_protocol_v2","displayName":"Proxy protocol v2","description":"Whether to enable support for proxy protocol v2 on Network Load Balancers.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#proxy_protocol_v2"},{"name":"slow_start","displayName":"Slow start","description":"Amount time for targets to warm up before the load balancer sends them a full share of requests.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#slow_start"},{"name":"target_type","displayName":"Target type","description":"Type of target that you must specify when registering targets with this target group. The default is \\"instance\\".","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_type"},{"name":"ip_address_type","displayName":"IP address type","description":"The type of IP addresses used by the target group, only supported when target type is set to ip.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#ip_address_type","rules":{"values":["ipv4","ipv6"]}},{"name":"vpc_id","displayName":"VPC ID","description":"Identifier of the VPC in which to create the target group.","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#vpc_id"},{"name":"health_check","displayName":"Health check","description":"Health Check configuration block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#health_check","attributes":[{"name":"enabled","displayName":"Enabled","description":"Whether health checks are enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#enabled"},{"name":"healthy_threshold","displayName":"Healthy threshold","description":"Number of consecutive health check successes required before considering a target healthy.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#healthy_threshold"},{"name":"interval","displayName":"Interval","description":"Approximate amount of time, in seconds, between health checks of an individual target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#interval"},{"name":"matcher","displayName":"Matcher","description":"Response codes to use when checking for a healthy responses from a target.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#matcher"},{"name":"path","displayName":"Path","description":"Destination for the health check request.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#path"},{"name":"port","displayName":"Port","description":"The port the load balancer uses when performing health checks on targets.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#port"},{"name":"protocol","displayName":"Protocol","description":"The port the load balancer uses when performing health checks on targets.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#protocol","rules":{"values":["TCP","HTTP","HTTPS"]}},{"name":"timeout","displayName":"Timeout","description":"Amount of time, in seconds, during which no response from a target means a failed health check.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#timeout"},{"name":"unhealthy_threshold","displayName":"Unhealthy threshold","description":"Number of consecutive health check failures required before considering a target unhealthy.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#unhealthy_threshold"}]},{"name":"stickiness","displayName":"Stickiness","description":"Stickiness configuration block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#stickiness","attributes":[{"name":"cookie_duration","displayName":"Cookie duration","description":"The time period, in seconds, during which requests from a client should be routed to the same target.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#cookie_duration"},{"name":"cookie_name","displayName":"Cookie name","description":"Name of the application based cookie.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#cookie_name"},{"name":"enabled","displayName":"Enable stickiness","description":"Boolean to enable/disable stickiness.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#enabled"},{"name":"type","displayName":"Type","description":"The type of sticky sessions.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#type","rules":{"values":["lb_cookie","app_cookie","source_ip","source_ip_dest_ip","source_ip_dest_ip_proto"]}}]},{"name":"tags","displayName":"Tags","description":"A map of tags to assign to the resource.","type":"Object","url":"https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"},{"name":"target_failover","displayName":"Target failover","description":"Target failover block.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#target_failover","attributes":[{"name":"on_deregistration","displayName":"On deregistration","description":"Indicates how the Gateway Load Balancer (GWLB) handles existing flows when a target is deregistered.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#on_deregistration","rules":{"values":["rebalance","no_rebalance"]}},{"name":"on_unhealthy","displayName":"On unhealthy","description":"Indicates how the Gateway Load Balancer (GWLB) handles existing flows when a target is unhealthy.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group#on_unhealthy","rules":{"values":["rebalance","no_rebalance"]}}]}]},{"type":"aws_launch_configuration","displayName":"Launch configuration","description":"A launch configuration is an instance configuration template that an Auto Scaling group uses to launch EC2 instances.
When you create a launch configuration, you specify information for the instances.","icon":"Aws_Launch-Configuration","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html","attributes":[{"name":"image_id","displayName":"Image ID","description":"The EC2 image ID to launch.","linkRef":"aws_ami","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#image_id"},{"name":"instance_type","displayName":"Instance type","description":"The size of instance to launch.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#instance_type"},{"name":"iam_instance_profile","displayName":"IAM instance profile","description":"The name attribute of the IAM instance profile to associate with launched instances.","type":"String","url":"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html"},{"name":"associate_public_ip_address","displayName":"Associate public IP address","description":"Associate a public ip address with an instance in a VPC.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html"},{"name":"enable_monitoring","displayName":"Enable monitoring","description":"Enables/disables detailed monitoring.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring_ec2.html"},{"name":"key_name","displayName":"Key name","description":"The key name that should be used for the instance.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#key_name"},{"name":"name","displayName":"Name","description":"The name of the launch configuration.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#name"},{"name":"name_prefix","displayName":"Name prefix","description":"Creates a unique name beginning with the specified prefix.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#name_prefix"},{"name":"security_groups","displayName":"Security groups","description":"A list of associated security group IDS.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#security_groups"},{"name":"placement_tenancy","displayName":"Placement tenancy","description":"The tenancy of the instance.","type":"String","url":"https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateLaunchConfiguration.html","rules":{"values":["enabled","disabled"]}},{"name":"spot_price","displayName":"Spot price","description":"The maximum price to use for reserving spot instances.","type":"Number","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html"},{"name":"user_data","displayName":"User data","description":"The user data to provide when launching the instance.
If you need to pass gzip-compressed data via this argument, use \\"user_data_base64\\" instead.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#user_data"},{"name":"user_data_base64","displayName":"User data base64","description":"Can be used instead of \\"user_data\\" to pass base64-encoded binary data directly,
whenever the value is not a valid UTF-8 string.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#user_data_base64"},{"name":"vpc_classic_link_id","displayName":"VPC ClassicLink ID","description":"The ID of a ClassicLink-enabled VPC.","linkRef":"aws_vpc","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html"},{"name":"vpc_classic_link_security_groups","displayName":"VPC ClassicLink security groups","description":"The IDs of one or more security groups for the specified ClassicLink-enabled VPC.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html"},{"name":"ebs_optimized","displayName":"EBS optimized","description":"If true, the launched EC2 instance will be EBS-optimized.","type":"Boolean","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html"},{"name":"ebs_block_device","displayName":"EBS block device","description":"Additional EBS block devices to attach to the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ebs_block_device","attributes":[{"name":"device_name","displayName":"Device name","description":"The name of the device to mount.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#device_name"},{"name":"snapshot_id","displayName":"Snapshot ID","description":"The Snapshot ID to mount.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#snapshot_id"},{"name":"volume_size","displayName":"Volume size","description":"The size of the volume in gigabytes.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#volume_size"},{"name":"volume_type","displayName":"Volume type","description":"The type of volume.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#volume_type","rules":{"values":["standard","gp2","gp3","st1","sc1","io1"]}},{"name":"iops","displayName":"IOPS","description":"The amount of provisioned Input/output Operations Per Second (IOPS). This must be set with a volume_type of \\"io1\\".","type":"Number","url":"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html"},{"name":"throughput","displayName":"Throughput","description":"The throughput (MiBps) to provision for a gp3 volume.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#throughput"},{"name":"delete_on_termination","displayName":"Delete on termination","description":"Whether the volume should be destroyed on instance termination.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#delete_on_termination"},{"name":"encrypted","displayName":"Encrypted","description":"Whether the volume should be encrypted or not.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#encrypted"},{"name":"no_device","displayName":"No device","description":"Whether the device in the block device mapping of the AMI is suppressed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#no_device"}]},{"name":"ephemeral_block_device","displayName":"Ephemeral block device","description":"Customize Ephemeral (also known as \\"Instance Store\\") volumes on the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device","attributes":[{"name":"device_name","displayName":"Device name","description":"The name of the block device to mount on the instance.","required":"true","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device"},{"name":"no_device","displayName":"No device","description":"Whether the device in the block device mapping of the AMI is suppressed.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#ephemeral_block_device"},{"name":"virtual_name","displayName":"Virtual name","description":"The Instance Store Device Name.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#virtual_name"}]},{"name":"metadata_options","displayName":"Metadata options","description":"The metadata options for the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#metadata_options","attributes":[{"name":"http_endpoint","displayName":"HTTP endpoint","description":"The state of the metadata service: enabled, disabled.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_endpoint","rules":{"values":["enabled","disabled"]}},{"name":"http_tokens","displayName":"HTTP tokens","description":"Whether the HTTP tokens are required.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_tokens","rules":{"values":["optional","required"]}},{"name":"http_put_response_hop_limit","displayName":"HTTP PUT response hop limit","description":"The desired HTTP PUT response hop limit for instance metadata requests.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration#http_put_response_hop_limit"}]},{"name":"root_block_device","displayName":"Root block device","description":"Customize details about the root block device of the instance.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device","attributes":[{"description":"Whether the volume should be destroyed on instance termination.","displayName":"Delete on termination","name":"delete_on_termination","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"Whether the volume should be encrypted or not. Defaults to false.","displayName":"Encrypted","name":"encrypted","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The amount of provisioned IOPS.","displayName":"IOPS","name":"iops","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The throughput (MiBps) to provision for a gp3 volume.","displayName":"Throughput","name":"throughput","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"description":"The size of the volume in gigabytes.","displayName":"Volume","name":"volume_size","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"},{"displayName":"Volume type","name":"volume_type","rules":{"values":["standard","gp2","gp3","st1","sc1","io1"]},"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration.html#root_block_device"}]}]},{"type":"aws_autoscaling_policy","displayName":"Autoscaling policy","description":"Provides an Auto Scaling policy resource.","icon":"Aws_Auto-Scaling","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html","attributes":[{"name":"name","displayName":"Name","description":"Name of the policy.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#name"},{"name":"autoscaling_group_name","displayName":"Autoscaling group name","description":"Name of the autoscaling group.","linkRef":"aws_autoscaling_group","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#autoscaling_group_name"},{"name":"adjustment_type","displayName":"Adjustment type","description":"Whether the adjustment is an absolute number or a percentage of the current capacity.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#adjustment_type","rules":{"values":["ChangeInCapacity","ExactCapacity","PercentChangeInCapacity"]}},{"name":"policy_type","displayName":"Policy type","description":"Policy type","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#policy_type","rules":{"values":["SimpleScaling","StepScaling","TargetTrackingScaling","PredictiveScaling"]}},{"name":"cooldown","displayName":"Cooldown","description":"Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
Only available for SimpleScaling policies.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#cooldown"},{"name":"scaling_adjustment","displayName":"Scaling adjustment","description":"Number of instances by which to scale.
Only available for SimpleScaling policies.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#scaling_adjustment"},{"name":"estimated_instance_warmup","displayName":"Estimated instance warmup","description":"Estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#estimated_instance_warmup"},{"name":"enabled","displayName":"Enabled","description":"Whether the policy should be enabled.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#enabled"},{"name":"min_adjustment_magnitude","displayName":"Min adjustment magnitude","description":"Minimum value to scale by when adjustment_type is set to PercentChangeInCapacity.
Only valid when policy_type is SimpleScaling or StepScalling.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#min_adjustment_magnitude"},{"name":"metric_aggregation_type","displayName":"Metric aggregation type","description":"The aggregation type for the CloudWatch metrics.
Only valid when policy_type is StepScaling.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_aggregation_type","rules":{"values":["Average","Minimum","Maximum"]}},{"name":"step_adjustment","displayName":"Step adjustment","description":"A list of step adjustments.
Only valid when policy_type is StepScaling.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#step_adjustment","attributes":[{"name":"metric_interval_lower_bound","displayName":"Metric interval lower bound","description":"The lower bound for the difference between the alarm threshold and the CloudWatch metric.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_interval_lower_bound"},{"name":"metric_interval_upper_bound","displayName":"Metric interval upper bound","description":"The upper bound for the difference between the alarm threshold and the CloudWatch metric.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#metric_interval_upper_bound"},{"name":"scaling_adjustment","displayName":"Scaling adjustment","description":"The number of members by which to scale.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_policy#scaling_adjustment"}]}]},{"type":"aws_cloudwatch_metric_alarm","displayName":"Cloudwatch metric alarm","description":"Watches a single metric over a specified time period, and performs one or more specified actions, based on the value of the metric relative to a threshold over time.","icon":"Amazon-CloudWatch_Alarm","model":"DefaultModel","url":"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#CloudWatchAlarms","attributes":[{"name":"alarm_name","displayName":"Alarm name","description":"The descriptive name for the alarm. This name must be unique within the user\'s AWS account","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_name"},{"name":"comparison_operator","displayName":"Comparison operator","description":"The arithmetic operation to use when comparing the specified Statistic and Threshold.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#comparison_operator","rules":{"values":["GreaterThanOrEqualToThreshold","GreaterThanThreshold","LessThanThreshold","LessThanOrEqualToThreshold","LessThanLowerOrGreaterThanUpperThreshold","LessThanLowerThreshold","GreaterThanUpperThreshold"]}},{"name":"evaluation_periods","displayName":"Evaluation periods","description":"The number of periods over which data is compared to the specified threshold.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#evaluation_periods"},{"name":"metric_name","displayName":"Metric name","description":"The name for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#metric_name"},{"name":"namespace","displayName":"Namespace","description":"The namespace for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#namespace"},{"name":"period","displayName":"Period","description":"The period in seconds over which the specified statistic is applied.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#period"},{"name":"statistic","displayName":"Statistic","description":"The statistic to apply to the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#statistic","rules":{"values":["SampleCount","Average","Sum","Minimum","Maximum"]}},{"name":"threshold","displayName":"Threshold","description":"The value against which the specified statistic is compared.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#threshold"},{"name":"dimensions","displayName":"Dimensions","description":"The dimensions for the alarm\'s associated metric.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#dimensions","attributes":[{"name":"AutoScalingGroupName","displayName":"Auto Scaling group name","description":"Amazon EC2 Auto Scaling","linkRef":"aws_autoscaling_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html"}]},{"name":"actions_enabled","displayName":"Actions enabled","description":"Indicates whether or not actions should be executed during any changes to the alarm\'s state.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#actions_enabled"},{"name":"alarm_description","displayName":"Alarm description","description":"The description for the alarm.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_description"},{"name":"datapoints_to_alarm","displayName":"Datapoints to alarm","description":"The number of datapoints that must be breaching to trigger the alarm.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#datapoints_to_alarm"},{"name":"alarm_actions","displayName":"Alarm actions","description":"The list of actions to execute when this alarm transitions into an ALARM state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#alarm_actions","rules":{"max":5,"min":1}},{"name":"insufficient_data_actions","displayName":"Insufficient data actions","description":"The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#insufficient_data_actions","rules":{"max":5,"min":1}},{"name":"ok_actions","displayName":"OK actions","description":"The list of actions to execute when this alarm transitions into an OK state from any other state.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#ok_actions","rules":{"max":5,"min":1}},{"name":"unit","displayName":"Unit","description":"The unit for the alarm\'s associated metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#unit","rules":{"values":["Seconds","Microseconds","Milliseconds","Bytes","Kilobytes","Megabytes","Gigabytes","Terabytes","Bits","Kilobits","Megabits","Gigabits","Terabits","Percent","Count","Bytes/Second","Kilobytes/Second","Megabytes/Second","Gigabytes/Second","Terabytes/Second","Bits/Second","Kilobits/Second","Megabits/Second","Gigabits/Second","Terabits/Second","Count/Second","None"]}},{"name":"extended_statistic","displayName":"Extended statistic","description":"The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#extended_statistic"},{"name":"treat_missing_data","displayName":"Treat missing data","description":"Sets how this alarm is to handle missing data points.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#treat_missing_data","rules":{"values":["breaching","notBreaching","ignore","missing"]}},{"name":"evaluate_low_sample_count_percentiles","displayName":"Evaluate low sample count percentiles","description":"Used only for alarms based on percentiles.
If ignore, the alarm state does not change during periods with too few data points to be statistically significant.
If evaluate or omit, the alarm is always evaluated and possibly changes state no matter how many data points are available.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#evaluate_low_sample_count_percentiles","rules":{"values":["evaluate","ignore"]}},{"name":"metric_query","displayName":"Metric query","description":"Enable to create an alarm based on a metric math expression.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#metric_query","attributes":[{"name":"id","displayName":"ID","description":"A short name used to tie this object to the results in the response.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#id"},{"name":"account_id","displayName":"Account ID","description":"The account ID to use when searching for the metric.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#account_id"},{"name":"expression","displayName":"Expression","description":"The math expression to be performed on the returned data, if this object is performing a math expression.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#expression"},{"name":"label","displayName":"Label","description":"A human-readable label for this metric or expression.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#label"},{"name":"return_data","displayName":"Return data","description":"Specify exactly one metric_query to be true to use that metric_query result as the alarm.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_metric_alarm#return_data"}]}]},{"type":"aws_efs_file_system","displayName":"EFS File System","description":"Provides an Elastic File System (EFS) File System resource.","icon":"Amazon-EFS","model":"DefaultModel","url":"https://aws.amazon.com/efs/?nc1=h_ls","attributes":[{"name":"arn","displayName":"ARN","description":"Amazon Resource Name (ARN) of the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#arn"},{"name":"availability_zone_name","displayName":"Availability zone name","description":"The AWS Availability Zone in which to create the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#availability_zone_name"},{"name":"availability_zone_id","displayName":"Availability zone ID","description":"The identifier of the Availability Zone in which the file system\'s One Zone storage classes exist.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#availability_zone_id"},{"name":"creation_token","displayName":"Creation token","description":"A unique name used as reference when creating the Elastic File System to ensure idempotent file system creation.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#creation_token","rules":{"max":"64","min":"1"}},{"name":"encrypted","displayName":"Encrypted","description":"If true, the disk will be encrypted.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#encrypted"},{"name":"kms_key_id","displayName":"Encrypted","description":"Amazon Resource Name (ARN) for the Key Management Service (KMS) encryption key.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#kms_key_id"},{"name":"lifecycle_policy","displayName":"Lifecycle policy","description":"A file system lifecycle policy","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#lifecycle_policy","attributes":[{"name":"transition_to_ia","displayName":"Transition to IA","description":"Indicates how long it takes to transition files to the IA storage class.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#transition_to_ia","rules":{"values":["AFTER_1_DAY","AFTER_7_DAYS","AFTER_14_DAYS","AFTER_30_DAYS","AFTER_60_DAYS","AFTER_90_DAYS"]}},{"name":"transition_to_primary_storage_class","displayName":"Transition to primary storage class","description":"Describes the policy used to transition a file from infrequent access storage to primary storage.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#transition_to_primary_storage_class","rules":{"values":["AFTER_1_ACCESS"]}}]},{"name":"performance_mode","displayName":"Performance mode","description":"The file system performance mode.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#performance_mode","rules":{"values":["generalPurpose","maxIO"]}},{"name":"provisioned_throughput_in_mibps","displayName":"Provisioned throughput in Mibps","description":"The throughput, measured in MiB/s, that you want to provision for the file system.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#provisioned_throughput_in_mibps"},{"name":"throughput_mode","displayName":"Throughput mode","description":"Throughput mode for the file system.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#throughput_mode","rules":{"values":["bursting","provisioned","elastic"]}},{"name":"size_in_bytes","displayName":"Size in bytes","description":"Current byte count used by the file system.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/efs_file_system#size_in_bytes"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the file system.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_file_system#tags"}]},{"type":"aws_lb_listener","displayName":"Load Balancer Listener","description":"Provides a Load Balancer Listener resource.","icon":"Aws_Elastic-Load-Balancing_Network-Load-Balancer","model":"DefaultModel","url":"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html","attributes":[{"name":"load_balancer_arn","displayName":"Load balancer ARN","description":"ARN of the load balancer.","linkRef":"aws_lb","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#load_balancer_arn"},{"name":"default_action","displayName":"Default action","description":"Configuration block for the default action.","required":true,"type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#default_action","attributes":[{"name":"type","displayName":"Type","description":"Type of routing action.","required":true,"type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#type","rules":{"values":["forward","authenticate-oidc","authenticate-cognito","redirect","fixed-response"]}},{"name":"target_group_arn","displayName":"Target group ARN","description":"ARN of the target group to which to route traffic.","linkRef":"aws_lb_target_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#target_group_arn"}]},{"name":"certificate_arn","displayName":"Cerificate ARN","description":"ARN of the default SSL server certificate.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#certificate_arn"},{"name":"port","displayName":"Port","description":"Port on which the load balancer is listening.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#port","rules":{"max":65535,"min":1}},{"name":"protocol","displayName":"Protocol","description":"Protocol for connections from clients to the load balancer.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#protocol","rules":{"values":["HTTP","HTTPS","TCP","TLS","UDP","TCP_UDP"]}},{"name":"alpn_policy","displayName":"ALPN policy","description":"Name of the Application-Layer Protocol Negotiation (ALPN) policy.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#alpn_policy","rules":{"values":["HTTP1Only","HTTP2Only","HTTP2Optional","HTTP2Preferred","None"]}},{"name":"ssl_policy","displayName":"SSL policy","description":"Name of the SSL Policy for the listener.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#ssl_policy"},{"name":"tags","displayName":"Tags","description":"A mapping of tags to assign to the resource.","type":"Object","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#tags"}]},{"type":"aws_efs_mount_target","displayName":"EFS Mount Target","description":"Provide an Elastic File System (EFS) mount target.","icon":"Amazon-EFS","model":"DefaultModel","url":"https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html","attributes":[{"name":"file_system_id","displayName":"File system ID","description":"The ID of the file system for which the mount target is intended.","linkRef":"aws_efs_file_system","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#file_system_id"},{"name":"subnet_id","displayName":"Subnet ID","description":"The ID of the subnet to add the mount target in.","linkRef":"aws_subnet","linkType":"Default","linkModel":"defaultLink","required":true,"type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#subnet_id"},{"name":"ip_address","displayName":"IP address","description":"The address (within the address range of the specified subnet) at which the file system may be mounted via the mount target.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#ip_address"},{"name":"security_groups","displayName":"Security groups","description":"A list of up to 5 VPC security group IDs (that must be for the same VPC as subnet specified) in effect for the mount target.","linkRef":"aws_security_group","linkType":"Default","linkModel":"defaultLink","type":"Link","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/efs_mount_target#security_groups"}]},{"type":"random_string","displayName":"Random String","description":"Generates a random permutation of alphanumeric characters and optionally special characters.","icon":"variable","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string","attributes":[{"name":"length","displayName":"Length","description":"The length of the string desired.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#length","rules":{"min":1}},{"name":"special","displayName":"Special","description":"Include special characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#special"},{"name":"min_special","displayName":"Min special","description":"Minimum number of special characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_special"},{"name":"lower","displayName":"Lower","description":"Include lowercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#lower"},{"name":"min_lower","displayName":"Min lower","description":"Minimum number of lowercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_lower"},{"name":"upper","displayName":"Upper","description":"Include uppercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#upper"},{"name":"min_upper","displayName":"Min upper","description":"Minimum number of uppercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_upper"},{"name":"numeric","displayName":"Numeric","description":"Include numeric characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#numeric"},{"name":"min_numeric","displayName":"Min numeric","description":"Minimum number of numeric characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#min_numeric"},{"name":"override_special","displayName":"Override special","description":"Supply your own list of special characters to use for string generation.","type":"String"}]},{"type":"random_password","displayName":"Random Password","description":"Identical to random_string with the exception that the result is treated as sensitive and, thus, not displayed in console output.","icon":"variable","model":"DefaultModel","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password","attributes":[{"name":"length","displayName":"Length","description":"The length of the string desired.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#length","rules":{"min":1}},{"name":"special","displayName":"Special","description":"Include special characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#special"},{"name":"min_special","displayName":"Min special","description":"Minimum number of special characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_special"},{"name":"lower","displayName":"Lower","description":"Include lowercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#lower"},{"name":"min_lower","displayName":"Min lower","description":"Minimum number of lowercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_lower"},{"name":"upper","displayName":"Upper","description":"Include uppercase alphabet characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#upper"},{"name":"min_upper","displayName":"Min upper","description":"Minimum number of uppercase characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string#min_upper"},{"name":"numeric","displayName":"Numeric","description":"Include numeric characters in the result.","type":"Boolean","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#numeric"},{"name":"min_numeric","displayName":"Min numeric","description":"Minimum number of numeric characters to include in the result.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#min_numeric"},{"name":"override_special","displayName":"Override special","description":"Supply your own list of special characters to use for string generation.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password#override_special"}]},{"type":"aws_autoscaling_group","displayName":"Auto Scaling Group","description":"Provides an Auto Scaling Group resource.","icon":"Aws_Auto-Scaling","model":"DefaultModel","url":"https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html","attributes":[{"name":"name","displayName":"Name","description":"Name of the Auto Scaling Group.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#name"},{"name":"min_size","displayName":"Min Size","description":"Minimum size of the Auto Scaling Group.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#min_size"},{"name":"max_size","displayName":"Max Size","description":"Maximum size of the Auto Scaling Group.","required":true,"type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#max_size"},{"name":"deired_capacity","displayName":"Desired Capacity","description":"Number of Amazon EC2 instances that should be running in the group.","type":"Number","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#desired_capacity"},{"name":"health_check_type","displayName":"Health Check Type","description":"Controls how health checking is done.","type":"String","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#health_check_type","rules":{"values":["EC2","ELB"]}},{"name":"target_group_arns","displayName":"Target Group ARNs","description":"Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing.","type":"Array","url":"https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group#target_group_arns"}]}],"variables":[{"type":"image_id","icon":"variable","model":"DefaultModel"}]}')};function x(t){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},x(t)}function k(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0)throw new Error("Metadata are not valid",{cause:e});return!0}},{key:"parse",value:function(){this.pluginData.definitions={components:this.getComponentDefinitions()}}},{key:"getComponentDefinitions",value:function(){var t=this,e=[];return Object.keys(this.providers).map((function(e){return t.providers[e]})).forEach((function(n){var r=[];r.push(t.getProviderDefinition(n)),n.data.forEach((function(e){return r.push(t.getBlockDefinition("data",n.name,e))})),n.modules.forEach((function(e){return r.push(t.getBlockDefinition("module",n.name,e))})),n.resources.forEach((function(e){return r.push(t.getBlockDefinition("resource",n.name,e))})),n.variables.forEach((function(e){return r.push(t.getBlockDefinition("variable",n.name,e))})),t.setChildrenTypes(r),r.forEach((function(t){e.push(t)}))})),e}},{key:"getProviderDefinition",value:function(t){var e=new p({blockType:"provider",provider:t.name,type:t.name,icon:t.icon,model:t.model,definedAttributes:t.attributes.map(this.getAttributeDefinition),isContainer:t.isContainer,displayName:t.displayName,description:t.description,url:t.url});return e.parentTypes=this.getParentTypes(e),e}},{key:"getBlockDefinition",value:function(t,e,n){var r=n.attributes||[],i=new p({blockType:t,provider:e,type:n.type,model:n.model,icon:n.icon,isContainer:n.isContainer||!1,definedAttributes:r.map(this.getAttributeDefinition),displayName:n.displayName,description:n.description,url:n.url});return i.parentTypes=this.getParentTypes(i),i}},{key:"getAttributeDefinition",value:function(t){var e=t.attributes||[];return new b(S(S({},t),{},{definedAttributes:e.map(this.getAttributeDefinition)}))}},{key:"getParentTypes",value:function(t){var e=[];return t.definedAttributes.filter((function(t){return"Reference"===t.type})).map((function(t){return t.containerRef})).filter((function(t){return!e.includes(t)})).forEach((function(t){return e.push(t)})),e}},{key:"setChildrenTypes",value:function(t){var e=t.filter((function(t){return t.parentTypes.length>0})).reduce((function(t,e){return e.parentTypes.forEach((function(n){var r;t[n]=[].concat(function(t){if(Array.isArray(t))return k(t)}(r=t[n]||[])||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return k(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e.type])})),t}),{});t.filter((function(t){return e[t.type]})).forEach((function(t){t.childrenTypes=e[t.type]}))}}],r&&T(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(t.DefaultMetadata);const R=L;var I={92:()=>{}},D={};function M(t){var e=D[t];if(void 0!==e)return e.exports;var n=D[t]={exports:{}};return I[t](n,n.exports,M),n.exports}M.d=(t,e)=>{for(var n in e)M.o(e,n)&&!M.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},M.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var j={};(()=>{M.d(j,{dx:()=>Y,q2:()=>Ot,FO:()=>ke,xf:()=>Te,Gy:()=>Pe,s4:()=>Rt,c7:()=>Ie,_7:()=>ue,gp:()=>be,cK:()=>Nt,zs:()=>ve,AV:()=>Te,Xp:()=>v,VS:()=>g,ul:()=>G,hW:()=>Ft,x1:()=>Qt,z5:()=>ee,oN:()=>fe,TB:()=>pe,u1:()=>de,_b:()=>Me,$F:()=>re,_T:()=>Be,db:()=>ie,Zx:()=>te,_x:()=>Mt,r8:()=>D,JI:()=>P,TP:()=>C,WU:()=>t,Nj:()=>u,ZP:()=>He});class t{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(t){this._text=t}}function e(t,e){if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n>>16)*c&65535)<<16)&4294967295,o=o<<15|o>>>17,o=(65535&o)*l+(((o>>>16)*l&65535)<<16)&4294967295,u^=o,u=u<<13|u>>>19,i=5*(65535&u)+((5*(u>>>16)&65535)<<16)&4294967295,u=27492+(65535&i)+((58964+(i>>>16)&65535)<<16);switch(o=0,a){case 3:o^=(255&r.charCodeAt(h+2))<<16;case 2:o^=(255&r.charCodeAt(h+1))<<8;case 1:o^=255&r.charCodeAt(h),o=(65535&o)*c+(((o>>>16)*c&65535)<<16)&4294967295,o=o<<15|o>>>17,o=(65535&o)*l+(((o>>>16)*l&65535)<<16)&4294967295,u^=o}return u^=r.length,u^=u>>>16,u=2246822507*(65535&u)+((2246822507*(u>>>16)&65535)<<16)&4294967295,u^=u>>>13,u=3266489909*(65535&u)+((3266489909*(u>>>16)&65535)<<16)&4294967295,u^=u>>>16,u>>>0}class i{constructor(){this.count=0,this.hash=0}update(){for(let t=0;t>>17,t*=461845907,this.count=this.count+1;let n=this.hash^t;n=n<<13|n>>>19,n=5*n+3864292196,this.hash=n}}}finish(){let t=this.hash^4*this.count;return t^=t>>>16,t*=2246822507,t^=t>>>13,t*=3266489909,t^=t>>>16,t}static hashStuff(){const t=new i;return t.update.apply(t,arguments),t.finish()}}function o(t){return t?"string"==typeof t?r(t):t.hashCode():-1}function a(t,e){return t?t.equals(e):t===e}function s(t){return null===t?"null":t}function u(t){return Array.isArray(t)?"["+t.map(s).join(", ")+"]":"null"}const c="h-";class l{constructor(t,e){this.data={},this.hashFunction=t||o,this.equalsFunction=e||a}add(t){const e=c+this.hashFunction(t);if(e in this.data){const n=this.data[e];for(let e=0;et.startsWith(c))).flatMap((t=>this.data[t]),this)}toString(){return u(this.values())}get length(){return Object.keys(this.data).filter((t=>t.startsWith(c))).map((t=>this.data[t].length),this).reduce(((t,e)=>t+e),0)}}class h{hashCode(){const t=new i;return this.updateHashCode(t),t.finish()}evaluate(t,e){}evalPrecedence(t,e){return this}static andContext(t,e){if(null===t||t===h.NONE)return e;if(null===e||e===h.NONE)return t;const n=new f(t,e);return 1===n.opnds.length?n.opnds[0]:n}static orContext(t,e){if(null===t)return e;if(null===e)return t;if(t===h.NONE||e===h.NONE)return h.NONE;const n=new p(t,e);return 1===n.opnds.length?n.opnds[0]:n}}class f extends h{constructor(t,e){super();const n=new l;t instanceof f?t.opnds.map((function(t){n.add(t)})):n.add(t),e instanceof f?e.opnds.map((function(t){n.add(t)})):n.add(e);const r=d(n);if(r.length>0){let t=null;r.map((function(e){(null===t||e.precedencet.toString()));return(t.length>3?t.slice(3):t).join("&&")}}class p extends h{constructor(t,e){super();const n=new l;t instanceof p?t.opnds.map((function(t){n.add(t)})):n.add(t),e instanceof p?e.opnds.map((function(t){n.add(t)})):n.add(e);const r=d(n);if(r.length>0){const t=r.sort((function(t,e){return t.compareTo(e)})),e=t[t.length-1];n.add(e)}this.opnds=Array.from(n.values())}equals(t){return this===t||t instanceof p&&e(this.opnds,t.opnds)}updateHashCode(t){t.update(this.opnds,"OR")}evaluate(t,e){for(let n=0;nt.toString()));return(t.length>3?t.slice(3):t).join("||")}}function d(t){const e=[];return t.values().map((function(t){t instanceof h.PrecedencePredicate&&e.push(t)})),e}function m(t,e){if(null===t){const t={state:null,alt:null,context:null,semanticContext:null};return e&&(t.reachesIntoOuterContext=0),t}{const n={};return n.state=t.state||null,n.alt=void 0===t.alt?null:t.alt,n.context=t.context||null,n.semanticContext=t.semanticContext||null,e&&(n.reachesIntoOuterContext=t.reachesIntoOuterContext||0,n.precedenceFilterSuppressed=t.precedenceFilterSuppressed||!1),n}}class y{constructor(t,e){this.checkContext(t,e),t=m(t),e=m(e,!0),this.state=null!==t.state?t.state:e.state,this.alt=null!==t.alt?t.alt:e.alt,this.context=null!==t.context?t.context:e.context,this.semanticContext=null!==t.semanticContext?t.semanticContext:null!==e.semanticContext?e.semanticContext:h.NONE,this.reachesIntoOuterContext=e.reachesIntoOuterContext,this.precedenceFilterSuppressed=e.precedenceFilterSuppressed}checkContext(t,e){null!==t.context&&void 0!==t.context||null!==e&&null!==e.context&&void 0!==e.context||(this.context=null)}hashCode(){const t=new i;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t||t instanceof y&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(null===this.context?null===t.context:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}hashCodeForConfigSet(){const t=new i;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t||t instanceof y&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext)}toString(){return"("+this.state+","+this.alt+(null!==this.context?",["+this.context.toString()+"]":"")+(this.semanticContext!==h.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class v{constructor(t,e){this.start=t,this.stop=e}clone(){return new v(this.start,this.stop)}contains(t){return t>=this.start&&tthis.addInterval(t)),this),this}reduce(t){if(t=n.stop?(this.intervals.splice(t+1,1),this.reduce(t)):e.stop>=n.start&&(this.intervals[t]=new v(e.start,n.stop),this.intervals.splice(t+1,1))}}complement(t,e){const n=new g;return n.addInterval(new v(t,e+1)),null!==this.intervals&&this.intervals.forEach((t=>n.removeRange(t))),n}contains(t){if(null===this.intervals)return!1;for(let e=0;en.start&&t.stop=n.stop?(this.intervals.splice(e,1),e-=1):t.start"):e.push("'"+String.fromCharCode(r.start)+"'"):e.push("'"+String.fromCharCode(r.start)+"'..'"+String.fromCharCode(r.stop-1)+"'")}return e.length>1?"{"+e.join(", ")+"}":e[0]}toIndexString(){const e=[];for(let n=0;n"):e.push(r.start.toString()):e.push(r.start.toString()+".."+(r.stop-1).toString())}return e.length>1?"{"+e.join(", ")+"}":e[0]}toTokenString(t,e){const n=[];for(let r=0;r1?"{"+n.join(", ")+"}":n[0]}elementName(e,n,r){return r===t.EOF?"":r===t.EPSILON?"":e[r]||n[r]}get length(){return this.intervals.map((t=>t.length)).reduce(((t,e)=>t+e))}}class b{constructor(){this.atn=null,this.stateNumber=b.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(t){return t instanceof b&&this.stateNumber===t.stateNumber}isNonGreedyExitState(){return!1}addTransition(t,e){void 0===e&&(e=-1),0===this.transitions.length?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),-1===e?this.transitions.push(t):this.transitions.splice(e,1,t)}}b.INVALID_TYPE=0,b.BASIC=1,b.RULE_START=2,b.BLOCK_START=3,b.PLUS_BLOCK_START=4,b.STAR_BLOCK_START=5,b.TOKEN_START=6,b.RULE_STOP=7,b.BLOCK_END=8,b.STAR_LOOP_BACK=9,b.STAR_LOOP_ENTRY=10,b.PLUS_LOOP_BACK=11,b.LOOP_END=12,b.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],b.INVALID_STATE_NUMBER=-1;class _ extends b{constructor(){return super(),this.stateType=b.RULE_STOP,this}}class w{constructor(t){if(null==t)throw"target cannot be null.";this.target=t,this.isEpsilon=!1,this.label=null}}w.EPSILON=1,w.RANGE=2,w.RULE=3,w.PREDICATE=4,w.ATOM=5,w.ACTION=6,w.SET=7,w.NOT_SET=8,w.WILDCARD=9,w.PRECEDENCE=10,w.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],w.serializationTypes={EpsilonTransition:w.EPSILON,RangeTransition:w.RANGE,RuleTransition:w.RULE,PredicateTransition:w.PREDICATE,AtomTransition:w.ATOM,ActionTransition:w.ACTION,SetTransition:w.SET,NotSetTransition:w.NOT_SET,WildcardTransition:w.WILDCARD,PrecedencePredicateTransition:w.PRECEDENCE};class x extends w{constructor(t,e,n,r){super(t),this.ruleIndex=e,this.precedence=n,this.followState=r,this.serializationType=w.RULE,this.isEpsilon=!0}matches(t,e,n){return!1}}class k extends w{constructor(e,n){super(e),this.serializationType=w.SET,null!=n?this.label=n:(this.label=new g,this.label.addOne(t.INVALID_TYPE))}matches(t,e,n){return this.label.contains(t)}toString(){return this.label.toString()}}class E extends k{constructor(t,e){super(t,e),this.serializationType=w.NOT_SET}matches(t,e,n){return t>=e&&t<=n&&!super.matches(t,e,n)}toString(){return"~"+super.toString()}}class S extends w{constructor(t){super(t),this.serializationType=w.WILDCARD}matches(t,e,n){return t>=e&&t<=n}toString(){return"."}}class T extends w{constructor(t){super(t)}}class A{}class O extends A{}class N extends O{}class P extends N{get ruleContext(){throw new Error("missing interface implementation")}}class C extends N{}class L extends C{}const R={toStringTree:function(t,e,n){e=e||null,null!==(n=n||null)&&(e=n.ruleNames);let r=R.getNodeText(t,e);r=function(t,e){return t.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(r);const i=t.getChildCount();if(0===i)return r;let o="("+r+" ";i>0&&(r=R.toStringTree(t.getChild(0),e),o=o.concat(r));for(let n=1;n=0&&e0&&(t+=", "),this.returnStates[e]!==F.EMPTY_RETURN_STATE?(t+=this.returnStates[e],null!==this.parents[e]?t=t+" "+this.parents[e]:t+="null"):t+="$";return t+"]"}}get length(){return this.returnStates.length}}class z extends F{constructor(t,e){let n=0;const r=new i;null!==t?r.update(t,e):r.update(1),n=r.finish(),super(n),this.parentCtx=t,this.returnState=e}getParent(t){return this.parentCtx}getReturnState(t){return this.returnState}equals(t){return this===t||t instanceof z&&this.hashCode()===t.hashCode()&&this.returnState===t.returnState&&(null==this.parentCtx?null==t.parentCtx:this.parentCtx.equals(t.parentCtx))}toString(){const t=null===this.parentCtx?"":this.parentCtx.toString();return 0===t.length?this.returnState===F.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+t}get length(){return 1}static create(t,e){return e===F.EMPTY_RETURN_STATE&&null===t?F.EMPTY:new z(t,e)}}class U extends z{constructor(){super(null,F.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(t){return null}getReturnState(t){return this.returnState}equals(t){return this===t}toString(){return"$"}}F.EMPTY=new U;const V="h-";class q{constructor(t,e){this.data={},this.hashFunction=t||o,this.equalsFunction=e||a}set(t,e){const n=V+this.hashFunction(t);if(n in this.data){const r=this.data[n];for(let n=0;nt.startsWith(V))).flatMap((t=>this.data[t]),this)}getKeys(){return this.entries().map((t=>t.key))}getValues(){return this.entries().map((t=>t.value))}toString(){return"["+this.entries().map((t=>"{"+t.key+":"+t.value+"}")).join(", ")+"]"}get length(){return Object.keys(this.data).filter((t=>t.startsWith(V))).map((t=>this.data[t].length),this).reduce(((t,e)=>t+e),0)}}function K(t,e){if(null==e&&(e=D.EMPTY),null===e.parentCtx||e===D.EMPTY)return F.EMPTY;const n=K(t,e.parentCtx),r=t.states[e.invokingState].transitions[0];return z.create(n,r.followState.stateNumber)}function H(t,e,n){if(t.isEmpty())return t;let r=n.get(t)||null;if(null!==r)return r;if(r=e.get(t),null!==r)return n.set(t,r),r;let i=!1,o=[];for(let r=0;re.returnState&&(i[0]=e.returnState,i[1]=t.returnState);const o=new B([n,n],i);return null!==r&&r.set(t,e,o),o}const i=[t.returnState,e.returnState];let o=[t.parentCtx,e.parentCtx];t.returnState>e.returnState&&(i[0]=e.returnState,i[1]=t.returnState,o=[e.parentCtx,t.parentCtx]);const a=new B(o,i);return null!==r&&r.set(t,e,a),a}}(t,e,n,r);if(n){if(t instanceof U)return t;if(e instanceof U)return e}return t instanceof z&&(t=new B([t.getParent()],[t.returnState])),e instanceof z&&(e=new B([e.getParent()],[e.returnState])),function(t,e,n,r){if(null!==r){let n=r.get(t,e);if(null!==n)return F.trace_atn_sim&&console.log("mergeArrays a="+t+",b="+e+" -> previous"),n;if(n=r.get(e,t),null!==n)return F.trace_atn_sim&&console.log("mergeArrays a="+t+",b="+e+" -> previous"),n}let i=0,o=0,a=0,s=new Array(t.returnStates.length+e.returnStates.length).fill(0),u=new Array(t.returnStates.length+e.returnStates.length).fill(null);for(;i a"),t):c.equals(e)?(null!==r&&r.set(t,e,e),F.trace_atn_sim&&console.log("mergeArrays a="+t+",b="+e+" -> b"),e):(function(t){const e=new q;for(let n=0;n "+c),c)}(t,e,n,r)}class W{constructor(){this.data=[]}add(t){this.data[t]=!0}or(t){Object.keys(t.data).map((t=>this.add(t)),this)}remove(t){delete this.data[t]}has(t){return!0===this.data[t]}values(){return Object.keys(this.data)}minValue(){return Math.min.apply(null,this.values())}hashCode(){return i.hashStuff(this.values())}equals(t){return t instanceof W&&e(this.data,t.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.values().length}}class G{constructor(t){this.atn=t}getDecisionLookahead(t){if(null===t)return null;const e=t.transitions.length,n=[];for(let r=0;r=this.states.length)throw"Invalid state number.";const r=this.states[e];let i=this.nextTokens(r);if(!i.contains(t.EPSILON))return i;const o=new g;for(o.addSet(i),o.removeOne(t.EPSILON);null!==n&&n.invokingState>=0&&i.contains(t.EPSILON);){const e=this.states[n.invokingState].transitions[0];i=this.nextTokens(e.followState),o.addSet(i),o.removeOne(t.EPSILON),n=n.parentCtx}return i.contains(t.EPSILON)&&o.addOne(t.EOF),o}}Y.INVALID_ALT_NUMBER=0;class Q extends b{constructor(){super(),this.stateType=b.BASIC}}class X extends b{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class Z extends X{constructor(){return super(),this.endState=null,this}}class J extends b{constructor(){return super(),this.stateType=b.BLOCK_END,this.startState=null,this}}class tt extends b{constructor(){return super(),this.stateType=b.LOOP_END,this.loopBackState=null,this}}class et extends b{constructor(){return super(),this.stateType=b.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class nt extends X{constructor(){return super(),this.stateType=b.TOKEN_START,this}}class rt extends X{constructor(){return super(),this.stateType=b.PLUS_LOOP_BACK,this}}class it extends b{constructor(){return super(),this.stateType=b.STAR_LOOP_BACK,this}}class ot extends X{constructor(){return super(),this.stateType=b.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class at extends Z{constructor(){return super(),this.stateType=b.PLUS_BLOCK_START,this.loopBackState=null,this}}class st extends Z{constructor(){return super(),this.stateType=b.STAR_BLOCK_START,this}}class ut extends Z{constructor(){return super(),this.stateType=b.BLOCK_START,this}}class ct extends w{constructor(t,e){super(t),this.label_=e,this.label=this.makeLabel(),this.serializationType=w.ATOM}makeLabel(){const t=new g;return t.addOne(this.label_),t}matches(t,e,n){return this.label_===t}toString(){return this.label_}}class lt extends w{constructor(t,e,n){super(t),this.serializationType=w.RANGE,this.start=e,this.stop=n,this.label=this.makeLabel()}makeLabel(){const t=new g;return t.addRange(this.start,this.stop),t}matches(t,e,n){return t>=this.start&&t<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class ht extends w{constructor(t,e,n,r){super(t),this.serializationType=w.ACTION,this.ruleIndex=e,this.actionIndex=void 0===n?-1:n,this.isCtxDependent=void 0!==r&&r,this.isEpsilon=!0}matches(t,e,n){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class ft extends w{constructor(t,e){super(t),this.serializationType=w.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=e}matches(t,e,n){return!1}toString(){return"epsilon"}}class pt extends h{constructor(t,e,n){super(),this.ruleIndex=void 0===t?-1:t,this.predIndex=void 0===e?-1:e,this.isCtxDependent=void 0!==n&&n}evaluate(t,e){const n=this.isCtxDependent?e:null;return t.sempred(n,this.ruleIndex,this.predIndex)}updateHashCode(t){t.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(t){return this===t||t instanceof pt&&this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}h.NONE=new pt;class dt extends T{constructor(t,e,n,r){super(t),this.serializationType=w.PREDICATE,this.ruleIndex=e,this.predIndex=n,this.isCtxDependent=r,this.isEpsilon=!0}matches(t,e,n){return!1}getPredicate(){return new pt(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class mt extends h{constructor(t){super(),this.precedence=void 0===t?0:t}evaluate(t,e){return t.precpred(e,this.precedence)}evalPrecedence(t,e){return t.precpred(e,this.precedence)?h.NONE:null}compareTo(t){return this.precedence-t.precedence}updateHashCode(t){t.update(this.precedence)}equals(t){return this===t||t instanceof mt&&this.precedence===t.precedence}toString(){return"{"+this.precedence+">=prec}?"}}h.PrecedencePredicate=mt;class yt extends T{constructor(t,e){super(t),this.serializationType=w.PRECEDENCE,this.precedence=e,this.isEpsilon=!0}matches(t,e,n){return!1}getPredicate(){return new mt(this.precedence)}toString(){return this.precedence+" >= _p"}}class vt{constructor(t){void 0===t&&(t=null),this.readOnly=!1,this.verifyATN=null===t||t.verifyATN,this.generateRuleBypassTransitions=null!==t&&t.generateRuleBypassTransitions}}vt.defaultOptions=new vt,vt.defaultOptions.readOnly=!0;class gt{constructor(t){this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new i;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}}class bt extends gt{constructor(){super(6)}execute(t){t.skip()}toString(){return"skip"}}bt.INSTANCE=new bt;class _t extends gt{constructor(t){super(0),this.channel=t}execute(t){t._channel=this.channel}updateHashCode(t){t.update(this.actionType,this.channel)}equals(t){return this===t||t instanceof _t&&this.channel===t.channel}toString(){return"channel("+this.channel+")"}}class wt extends gt{constructor(t,e){super(1),this.ruleIndex=t,this.actionIndex=e,this.isPositionDependent=!0}execute(t){t.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(t){t.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(t){return this===t||t instanceof wt&&this.ruleIndex===t.ruleIndex&&this.actionIndex===t.actionIndex}}class xt extends gt{constructor(){super(3)}execute(t){t.more()}toString(){return"more"}}xt.INSTANCE=new xt;class kt extends gt{constructor(t){super(7),this.type=t}execute(t){t.type=this.type}updateHashCode(t){t.update(this.actionType,this.type)}equals(t){return this===t||t instanceof kt&&this.type===t.type}toString(){return"type("+this.type+")"}}class Et extends gt{constructor(t){super(5),this.mode=t}execute(t){t.pushMode(this.mode)}updateHashCode(t){t.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof Et&&this.mode===t.mode}toString(){return"pushMode("+this.mode+")"}}class St extends gt{constructor(){super(4)}execute(t){t.popMode()}toString(){return"popMode"}}St.INSTANCE=new St;class Tt extends gt{constructor(t){super(2),this.mode=t}execute(t){t.mode(this.mode)}updateHashCode(t){t.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof Tt&&this.mode===t.mode}toString(){return"mode("+this.mode+")"}}function At(t,e){const n=[];return n[t-1]=e,n.map((function(t){return e}))}class Ot{constructor(t){null==t&&(t=vt.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){const e=this.reset(t);this.checkVersion(e),e&&this.skipUUID();const n=this.readATN();this.readStates(n,e),this.readRules(n,e),this.readModes(n);const r=[];return this.readSets(n,r,this.readInt.bind(this)),e&&this.readSets(n,r,this.readInt32.bind(this)),this.readEdges(n,r),this.readDecisions(n),this.readLexerActions(n,e),this.markPrecedenceDecisions(n),this.verifyATN(n),this.deserializationOptions.generateRuleBypassTransitions&&1===n.grammarType&&(this.generateRuleBypassTransitions(n),this.verifyATN(n)),n}reset(t){if(3===(t.charCodeAt?t.charCodeAt(0):t[0])){const e=function(t){const e=t.charCodeAt(0);return e>1?e-2:e+65534},n=t.split("").map(e);return n[0]=t.charCodeAt(0),this.data=n,this.pos=0,!0}return this.data=t,this.pos=0,!1}skipUUID(){let t=0;for(;t++<8;)this.readInt()}checkVersion(t){const e=this.readInt();if(!t&&4!==e)throw"Could not deserialize ATN with version "+e+" (expected 4)."}readATN(){const t=this.readInt(),e=this.readInt();return new Y(t,e)}readStates(t,e){let n,r,i;const o=[],a=[],s=this.readInt();for(let n=0;n0;)i.addTransition(u.transitions[c-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[e].addTransition(new ft(i)),o.addTransition(new ft(s));const l=new Q;t.addState(l),l.addTransition(new ct(o,t.ruleToTokenType[e])),i.addTransition(new ft(l))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e)return null;if(!(t instanceof ot))return null;const n=t.transitions[t.transitions.length-1].target;return n instanceof tt&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof _?t:null}markPrecedenceDecisions(t){for(let e=0;e=0):this.checkCondition(n.transitions.length<=1||n instanceof _)}}checkCondition(t,e){if(!t)throw null==e&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(e,n,r,i,o,a,s,u){const c=e.states[i];switch(n){case w.EPSILON:return new ft(c);case w.RANGE:return new lt(c,0!==s?t.EOF:o,a);case w.RULE:return new x(e.states[o],a,s,c);case w.PREDICATE:return new dt(c,o,a,0!==s);case w.PRECEDENCE:return new yt(c,o);case w.ATOM:return new ct(c,0!==s?t.EOF:o);case w.ACTION:return new ht(c,o,a,0!==s);case w.SET:return new k(c,u[o]);case w.NOT_SET:return new E(c,u[o]);case w.WILDCARD:return new S(c);default:throw"The specified transition type: "+n+" is not valid."}}stateFactory(t,e){if(null===this.stateFactories){const t=[];t[b.INVALID_TYPE]=null,t[b.BASIC]=()=>new Q,t[b.RULE_START]=()=>new et,t[b.BLOCK_START]=()=>new ut,t[b.PLUS_BLOCK_START]=()=>new at,t[b.STAR_BLOCK_START]=()=>new st,t[b.TOKEN_START]=()=>new nt,t[b.RULE_STOP]=()=>new _,t[b.BLOCK_END]=()=>new J,t[b.STAR_LOOP_BACK]=()=>new it,t[b.STAR_LOOP_ENTRY]=()=>new ot,t[b.PLUS_LOOP_BACK]=()=>new rt,t[b.LOOP_END]=()=>new tt,this.stateFactories=t}if(t>this.stateFactories.length||null===this.stateFactories[t])throw"The specified state type "+t+" is not valid.";{const n=this.stateFactories[t]();if(null!==n)return n.ruleIndex=e,n}}lexerActionFactory(t,e,n){if(null===this.actionFactories){const t=[];t[0]=(t,e)=>new _t(t),t[1]=(t,e)=>new wt(t,e),t[2]=(t,e)=>new Tt(t),t[3]=(t,e)=>xt.INSTANCE,t[4]=(t,e)=>St.INSTANCE,t[5]=(t,e)=>new Et(t),t[6]=(t,e)=>bt.INSTANCE,t[7]=(t,e)=>new kt(t),this.actionFactories=t}if(t>this.actionFactories.length||null===this.actionFactories[t])throw"The specified lexer action type "+t+" is not valid.";return this.actionFactories[t](e,n)}}class Nt{syntaxError(t,e,n,r,i,o){}reportAmbiguity(t,e,n,r,i,o,a){}reportAttemptingFullContext(t,e,n,r,i,o){}reportContextSensitivity(t,e,n,r,i,o){}}class Pt extends Nt{constructor(){super()}syntaxError(t,e,n,r,i,o){console.error("line "+n+":"+r+" "+i)}}Pt.INSTANCE=new Pt;class Ct extends Nt{constructor(t){if(super(),null===t)throw"delegates";return this.delegates=t,this}syntaxError(t,e,n,r,i,o){this.delegates.map((a=>a.syntaxError(t,e,n,r,i,o)))}reportAmbiguity(t,e,n,r,i,o,a){this.delegates.map((s=>s.reportAmbiguity(t,e,n,r,i,o,a)))}reportAttemptingFullContext(t,e,n,r,i,o){this.delegates.map((a=>a.reportAttemptingFullContext(t,e,n,r,i,o)))}reportContextSensitivity(t,e,n,r,i,o){this.delegates.map((a=>a.reportContextSensitivity(t,e,n,r,i,o)))}}class Lt{constructor(){this._listeners=[Pt.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(t){const e="4.13.1";e!==t&&console.log("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){this._listeners.push(t)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){const t=this.getLiteralNames(),e=this.getSymbolicNames(),n=t.length>e.length?t.length:e.length;this.tokenNames=[];for(let r=0;r";let n=e.text;return null===n&&(n=e.type===t.EOF?"":"<"+e.type+">"),n=n.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"),"'"+n+"'"}getErrorListenerDispatch(){return new Ct(this._listeners)}sempred(t,e,n){return!0}precpred(t,e){return!0}get atn(){return this._interp.atn}get state(){return this._stateNumber}set state(t){this._stateNumber=t}}Lt.tokenTypeMapCache={},Lt.ruleIndexMapCache={};class Rt extends t{constructor(e,n,r,i,o){super(),this.source=void 0!==e?e:Rt.EMPTY_SOURCE,this.type=void 0!==n?n:null,this.channel=void 0!==r?r:t.DEFAULT_CHANNEL,this.start=void 0!==i?i:-1,this.stop=void 0!==o?o:-1,this.tokenIndex=-1,null!==this.source[0]?(this.line=e[0].line,this.column=e[0].column):this.column=-1}clone(){const t=new Rt(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,t.text=this.text,t}cloneWithType(e){const n=new Rt(this.source,e,this.channel,this.start,this.stop);return n.tokenIndex=this.tokenIndex,n.line=this.line,n.column=this.column,e===t.EOF&&(n.text=""),n}toString(){let t=this.text;return t=null!==t?t.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+t+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(null!==this._text)return this._text;const t=this.getInputStream();if(null===t)return null;const e=t.size;return this.start"}set text(t){this._text=t}}Rt.EMPTY_SOURCE=[null,null];class It{}class Dt extends It{constructor(t){super(),this.copyText=void 0!==t&&t}create(t,e,n,r,i,o,a,s){const u=new Rt(t,e,r,i,o);return u.line=a,u.column=s,null!==n?u.text=n:this.copyText&&null!==t[1]&&(u.text=t[1].getText(i,o)),u}createThin(t,e){const n=new Rt(null,t);return n.text=e,n}}Dt.DEFAULT=new Dt;class Mt extends Error{constructor(t){super(t.message),Error.captureStackTrace&&Error.captureStackTrace(this,Mt),this.message=t.message,this.recognizer=t.recognizer,this.input=t.input,this.ctx=t.ctx,this.offendingToken=null,this.offendingState=-1,null!==this.recognizer&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return null!==this.recognizer?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}}class jt extends Mt{constructor(t,e,n,r){super({message:"",recognizer:t,input:e,ctx:null}),this.startIndex=n,this.deadEndConfigs=r}toString(){let t="";return this.startIndex>=0&&this.startIndex":"\n"===e?"\\n":"\t"===e?"\\t":"\r"===e?"\\r":e}getCharErrorDisplay(t){return"'"+this.getErrorDisplayForChar(t)+"'"}recover(e){this._input.LA(1)!==t.EOF&&(e instanceof jt?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(t){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=t,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(t){this._type=t}get line(){return this._interp.line}set line(t){this._interp.line=t}get column(){return this._interp.column}set column(t){this._interp.column=t}get text(){return null!==this._text?this._text:this._interp.getText(this._input)}set text(t){this._text=t}}function Bt(t){return t.hashCodeForConfigSet()}function zt(t,e){return t===e||null!==t&&null!==e&&t.equalsForConfigSet(e)}Ft.DEFAULT_MODE=0,Ft.MORE=-2,Ft.SKIP=-3,Ft.DEFAULT_TOKEN_CHANNEL=t.DEFAULT_CHANNEL,Ft.HIDDEN=t.HIDDEN_CHANNEL,Ft.MIN_CHAR_VALUE=0,Ft.MAX_CHAR_VALUE=1114111;class Ut{constructor(t){this.configLookup=new l(Bt,zt),this.fullCtx=void 0===t||t,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(t,e){if(void 0===e&&(e=null),this.readOnly)throw"This set is readonly";t.semanticContext!==h.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(t);if(n===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,i=$(n.context,t.context,r,e);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=i,!0}getStates(){const t=new l;for(let e=0;eQt.MAX_DFA_EDGE)return null;let n=t.edges[e-Qt.MIN_DFA_EDGE];return void 0===n&&(n=null),Qt.debug&&null!==n&&console.log("reuse state "+t.stateNumber+" edge to "+n.stateNumber),n}computeTargetState(t,e,n){const r=new Kt;return this.getReachableConfigSet(t,e.configs,r,n),0===r.items.length?(r.hasSemanticContext||this.addDFAEdge(e,n,qt.ERROR),qt.ERROR):this.addDFAEdge(e,n,null,r)}failOrAccept(e,n,r,i){if(null!==this.prevAccept.dfaState){const t=e.dfaState.lexerActionExecutor;return this.accept(n,t,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(i===t.EOF&&n.index===this.startIndex)return t.EOF;throw new jt(this.recog,n,this.startIndex,r)}getReachableConfigSet(e,n,r,i){let o=Y.INVALID_ALT_NUMBER;for(let a=0;aQt.MAX_DFA_EDGE||(Qt.debug&&console.log("EDGE "+t+" -> "+n+" upon "+e),null===t.edges&&(t.edges=[]),t.edges[e-Qt.MIN_DFA_EDGE]=n),n}addDFAState(t){const e=new Vt(null,t);let n=null;for(let e=0;et.startsWith("k-"))).map((t=>this.data[t]),this)}}const Jt={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(t,e){if(Jt.allConfigsInRuleStopStates(e))return!0;if(t===Jt.SLL&&e.hasSemanticContext){const t=new Ut;for(let n=0;n1)return!0;return!1},allSubsetsEqual:function(t){let e=null;for(let n=0;n "+a),0===a.items.length?null:a}removeAllConfigsNotInRuleStopState(e,n){if(te.allConfigsInRuleStopStates(e))return e;const r=new Ut(e.fullCtx);for(let i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(i),o!==Y.INVALID_ALT_NUMBER)?o:Y.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(t){const e=[];for(let n=0;n0||r.state instanceof _&&r.context.hasEmptyPath())&&e.indexOf(r.alt)<0&&e.push(r.alt)}return 0===e.length?Y.INVALID_ALT_NUMBER:Math.min.apply(null,e)}splitAccordingToSemanticValidity(t,e){const n=new Ut(t.fullCtx),r=new Ut(t.fullCtx);for(let i=0;i=0&&(r+=1)}this.closureCheckingStopState(h,e,n,l,i,r,a)}}}canDropLoopEntryEdgeInLeftRecursiveRule(t){const e=t.state;if(e.stateType!==b.STAR_LOOP_ENTRY)return!1;if(e.stateType!==b.STAR_LOOP_ENTRY||!e.isPrecedenceDecision||t.context.isEmpty()||t.context.hasEmptyPath())return!1;const n=t.context.length;for(let r=0;r=0?this.parser.ruleNames[t]:""}getEpsilonTarget(e,n,r,i,o,a){switch(n.serializationType){case w.RULE:return this.ruleTransition(e,n);case w.PRECEDENCE:return this.precedenceTransition(e,n,r,i,o);case w.PREDICATE:return this.predTransition(e,n,r,i,o);case w.ACTION:return this.actionTransition(e,n);case w.EPSILON:return new y({state:n.target},e);case w.ATOM:case w.RANGE:case w.SET:return a&&n.matches(t.EOF,0,1)?new y({state:n.target},e):null;default:return null}}actionTransition(t,e){if(this.debug){const t=-1===e.actionIndex?65535:e.actionIndex;console.log("ACTION edge "+e.ruleIndex+":"+t)}return new y({state:e.target},t)}precedenceTransition(t,e,n,r,i){this.debug&&(console.log("PRED (collectPredicates="+n+") "+e.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+u(this.parser.getRuleInvocationStack())));let o=null;if(n&&r)if(i){const n=this._input.index;this._input.seek(this._startIndex);const r=e.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(n),r&&(o=new y({state:e.target},t))}else{const n=h.andContext(t.semanticContext,e.getPredicate());o=new y({state:e.target,semanticContext:n},t)}else o=new y({state:e.target},t);return this.debug&&console.log("config from pred transition="+o),o}predTransition(t,e,n,r,i){this.debug&&(console.log("PRED (collectPredicates="+n+") "+e.ruleIndex+":"+e.predIndex+", ctx dependent="+e.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+u(this.parser.getRuleInvocationStack())));let o=null;if(n&&(e.isCtxDependent&&r||!e.isCtxDependent))if(i){const n=this._input.index;this._input.seek(this._startIndex);const r=e.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(n),r&&(o=new y({state:e.target},t))}else{const n=h.andContext(t.semanticContext,e.getPredicate());o=new y({state:e.target,semanticContext:n},t)}else o=new y({state:e.target},t);return this.debug&&console.log("config from pred transition="+o),o}ruleTransition(t,e){this.debug&&console.log("CALL rule "+this.getRuleName(e.target.ruleIndex)+", ctx="+t.context);const n=e.followState,r=z.create(t.context,n.stateNumber);return new y({state:e.target,context:r},t)}getConflictingAlts(t){const e=te.getConflictingAltSubsets(t);return te.getAlts(e)}getConflictingAltsOrUniqueAlt(t){let e=null;return t.uniqueAlt!==Y.INVALID_ALT_NUMBER?(e=new W,e.add(t.uniqueAlt)):e=t.conflictingAlts,e}getTokenName(e){if(e===t.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";console.log(e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+e}getLookaheadName(t){return this.getTokenName(t.LA(1))}dumpDeadEndConfigs(t){console.log("dead end configs: ");const e=t.getDeadEndConfigs();for(let t=0;t0){const t=n.state.transitions[0];t instanceof ct?r="Atom "+this.getTokenName(t.label):t instanceof k&&(r=(t instanceof E?"~":"")+"Set "+t.set)}console.error(n.toString(this.parser,!0)+":"+r)}}noViableAlt(t,e,n,r){return new ee(this.parser,t,t.get(r),t.LT(1),n,e)}getUniqueAlt(t){let e=Y.INVALID_ALT_NUMBER;for(let n=0;n "+r+" upon "+this.getTokenName(n)),null===r)return null;if(r=this.addDFAState(t,r),null===e||n<-1||n>this.atn.maxTokenType)return r;if(null===e.edges&&(e.edges=[]),e.edges[n+1]=r,this.debug){const e=null===this.parser?null:this.parser.literalNames,n=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+t.toString(e,n))}return r}addDFAState(t,e){if(e===qt.ERROR)return e;const n=t.states.get(e);return null!==n?(this.trace_atn_sim&&console.log("addDFAState "+e+" exists"),n):(e.stateNumber=t.states.length,e.configs.readOnly||(e.configs.optimizeConfigs(this),e.configs.setReadonly(!0)),this.trace_atn_sim&&console.log("addDFAState new "+e),t.states.add(e),this.debug&&console.log("adding new DFA state: "+e),e)}reportAttemptingFullContext(t,e,n,r,i){if(this.debug||this.retry_debug){const e=new v(r,i+1);console.log("reportAttemptingFullContext decision="+t.decision+":"+n+", input="+this.parser.getTokenStream().getText(e))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,t,r,i,e,n)}reportContextSensitivity(t,e,n,r,i){if(this.debug||this.retry_debug){const e=new v(r,i+1);console.log("reportContextSensitivity decision="+t.decision+":"+n+", input="+this.parser.getTokenStream().getText(e))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,t,r,i,e,n)}reportAmbiguity(t,e,n,r,i,o,a){if(this.debug||this.retry_debug){const t=new v(n,r+1);console.log("reportAmbiguity "+o+":"+a+", input="+this.parser.getTokenStream().getText(t))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,t,n,r,i,o,a)}}class ie{constructor(){this.cache=new q}add(t){if(t===F.EMPTY)return F.EMPTY;const e=this.cache.get(t)||null;return null!==e?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}}const oe={ATN:Y,ATNDeserializer:Ot,LexerATNSimulator:Qt,ParserATNSimulator:re,PredictionMode:te,PredictionContextCache:ie};class ae{constructor(t,e,n){this.dfa=t,this.literalNames=e||[],this.symbolicNames=n||[]}toString(){if(null===this.dfa.s0)return null;let t="";const e=this.dfa.sortedStates();for(let n=0;n"),t=t.concat(this.getStateString(e)),t=t.concat("\n"))}}}return 0===t.length?null:t}getEdgeLabel(t){return 0===t?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[t-1]||this.symbolicNames[t-1]:String.fromCharCode(t-1)}getStateString(t){const e=(t.isAcceptState?":":"")+"s"+t.stateNumber+(t.requiresFullContext?"^":"");return t.isAcceptState?null!==t.predicates?e+"=>"+u(t.predicates):e+"=>"+t.prediction.toString():e}}class se extends ae{constructor(t){super(t,null)}getEdgeLabel(t){return"'"+String.fromCharCode(t)+"'"}}class ue{constructor(t,e){if(void 0===e&&(e=0),this.atnStartState=t,this.decision=e,this._states=new l,this.s0=null,this.precedenceDfa=!1,t instanceof ot&&t.isPrecedenceDecision){this.precedenceDfa=!0;const t=new Vt(null,new Ut);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}}getPrecedenceStartState(t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return t<0||t>=this.s0.edges.length?null:this.s0.edges[t]||null}setPrecedenceStartState(t,e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";t<0||(this.s0.edges[t]=e)}setPrecedenceDfa(t){if(this.precedenceDfa!==t){if(this._states=new l,t){const t=new Vt(null,new Ut);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=t}}sortedStates(){return this._states.values().sort((function(t,e){return t.stateNumber-e.stateNumber}))}toString(t,e){return t=t||null,e=e||null,null===this.s0?"":new ae(this,t,e).toString()}toLexerString(){return null===this.s0?"":new se(this).toString()}get states(){return this._states}}const ce={DFA:ue,DFASerializer:ae,LexerDFASerializer:se,PredPrediction:Xt},le={PredictionContext:F},he={Interval:v,IntervalSet:g};class fe{visitTerminal(t){}visitErrorNode(t){}enterEveryRule(t){}exitEveryRule(t){}}class pe{visit(t){return Array.isArray(t)?t.map((function(t){return t.accept(this)}),this):t.accept(this)}visitChildren(t){return t.children?this.visit(t.children):null}visitTerminal(t){}visitErrorNode(t){}}class de{walk(t,e){if(e instanceof L||void 0!==e.isErrorNode&&e.isErrorNode())t.visitErrorNode(e);else if(e instanceof C)t.visitTerminal(e);else{this.enterRule(t,e);for(let n=0;n=i.length)return""+n;const o=i[r]||null;return null===o||0===o.length?""+n:`${n} (${o})`}getConflictingAlts(t,e){if(null!==t)return t;const n=new W;for(let t=0;t=0&&t.consume(),this.lastErrorIndex=t._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(t.state);const n=this.getErrorRecoverySet(t);this.consumeUntil(t,n)}sync(e){if(this.inErrorRecoveryMode(e))return;const n=e._interp.atn.states[e.state],r=e.getTokenStream().LA(1),i=e.atn.nextTokens(n);if(i.contains(r))return this.nextTokensContext=null,void(this.nextTokenState=b.INVALID_STATE_NUMBER);if(i.contains(t.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(n.stateType){case b.BLOCK_START:case b.STAR_BLOCK_START:case b.PLUS_BLOCK_START:case b.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new ye(e);case b.PLUS_LOOP_BACK:case b.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const t=new g;t.addSet(e.getExpectedTokens());const n=t.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,n)}}}reportNoViableAlternative(e,n){const r=e.getTokenStream();let i;i=null!==r?n.startToken.type===t.EOF?"":r.getText(new v(n.startToken.tokenIndex,n.offendingToken.tokenIndex)):"";const o="no viable alternative at input "+this.escapeWSAndQuote(i);e.notifyErrorListeners(o,n.offendingToken,n)}reportInputMismatch(t,e){const n="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.literalNames,t.symbolicNames);t.notifyErrorListeners(n,e.offendingToken,e)}reportFailedPredicate(t,e){const n="rule "+t.ruleNames[t._ctx.ruleIndex]+" "+e.message;t.notifyErrorListeners(n,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(e)+" expecting "+this.getExpectedTokens(t).toString(t.literalNames,t.symbolicNames);t.notifyErrorListeners(n,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),n="missing "+this.getExpectedTokens(t).toString(t.literalNames,t.symbolicNames)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(n,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(null!==e)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new ye(t)}singleTokenInsertion(t){const e=t.getTokenStream().LA(1),n=t._interp.atn,r=n.states[t.state].transitions[0].target;return!!n.nextTokens(r,t._ctx).contains(e)&&(this.reportMissingToken(t),!0)}singleTokenDeletion(t){const e=t.getTokenStream().LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const e=t.getCurrentToken();return this.reportMatch(t),e}return null}getMissingSymbol(e){const n=e.getCurrentToken(),r=this.getExpectedTokens(e).first();let i;i=r===t.EOF?"":"";let o=n;const a=e.getTokenStream().LT(-1);return o.type===t.EOF&&null!==a&&(o=a),e.getTokenFactory().create(o.source,r,i,t.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(e){if(null===e)return"";let n=e.text;return null===n&&(n=e.type===t.EOF?"":"<"+e.type+">"),this.escapeWSAndQuote(n)}escapeWSAndQuote(t){return"'"+(t=(t=(t=t.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(e){const n=e._interp.atn;let r=e._ctx;const i=new g;for(;null!==r&&r.invokingState>=0;){const t=n.states[r.invokingState].transitions[0],e=n.nextTokens(t.followState);i.addSet(e),r=r.parentCtx}return i.removeOne(t.EPSILON),i}consumeUntil(e,n){let r=e.getTokenStream().LA(1);for(;r!==t.EOF&&!n.contains(r);)e.consume(),r=e.getTokenStream().LA(1)}}class ke extends xe{constructor(){super()}recover(t,e){let n=t._ctx;for(;null!==n;)n.exception=e,n=n.parentCtx;throw new _e(e)}recoverInline(t){this.recover(t,new ye(t))}sync(t){}}const Ee={RecognitionException:Mt,NoViableAltException:ee,LexerNoViableAltException:jt,InputMismatchException:ye,FailedPredicateException:ve,DiagnosticErrorListener:be,BailErrorStrategy:ke,DefaultErrorStrategy:xe,ErrorListener:Nt};class Se{constructor(t,e){if(this.name="",this.strdata=t,this.decodeToUnicodeCodePoints=e||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let t=0;t=this._size)throw"cannot consume EOF";this._index+=1}LA(e){if(0===e)return 0;e<0&&(e+=1);const n=this._index+e-1;return n<0||n>=this._size?t.EOF:this.data[n]}LT(t){return this.LA(t)}mark(){return-1}release(t){}seek(t){t<=this._index?this._index=t:this._index=Math.min(t,this._size)}getText(t,e){if(e>=this._size&&(e=this._size-1),t>=this._size)return"";if(this.decodeToUnicodeCodePoints){let n="";for(let r=t;r<=e;r++)n+=String.fromCodePoint(this.data[r]);return n}return this.strdata.slice(t,e+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class Te extends Se{constructor(t,e){super(t,e)}}var Ae=M(92);const Oe="undefined"!=typeof process&&null!=process.versions&&null!=process.versions.node;class Ne extends Te{static fromPath(t,e,n){if(!Oe)throw new Error("FileStream is only available when running in Node!");Ae.readFile(t,e,(function(t,e){let r=null;null!==e&&(r=new Se(e,!0)),n(t,r)}))}constructor(t,e,n){if(!Oe)throw new Error("FileStream is only available when running in Node!");super(Ae.readFileSync(t,e||"utf-8"),n),this.fileName=t}}const Pe={fromString:function(t){return new Se(t,!0)},fromBlob:function(t,e,n,r){const i=new window.FileReader;i.onload=function(t){const e=new Se(t.target.result,!0);n(e)},i.onerror=r,i.readAsText(t,e)},fromBuffer:function(t,e){return new Se(t.toString(e),!0)},fromPath:function(t,e,n){Ne.fromPath(t,e,n)},fromPathSync:function(t,e){return new Ne(t,e)}},Ce={arrayToString:u,stringToCharArray:function(t){let e=new Uint16Array(t.length);for(let n=0;n=0&&(this.fetchedEOF?this.index0)||this.fetch(e)>=e}fetch(e){if(this.fetchedEOF)return 0;for(let n=0;n=this.tokens.length&&(n=this.tokens.length-1);for(let o=e;o=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){-1===this.index&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(e,n){if(this.sync(e),e>=this.tokens.length)return-1;let r=this.tokens[e];for(;r.channel!==this.channel;){if(r.type===t.EOF)return-1;e+=1,this.sync(e),r=this.tokens[e]}return e}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(void 0===e&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw t+" not in 0.."+this.tokens.length-1;const n=this.nextTokenOnChannel(t+1,Ft.DEFAULT_TOKEN_CHANNEL),r=t+1,i=-1===n?this.tokens.length-1:n;return this.filterForChannel(r,i,e)}getHiddenTokensToLeft(t,e){if(void 0===e&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw t+" not in 0.."+this.tokens.length-1;const n=this.previousTokenOnChannel(t-1,Ft.DEFAULT_TOKEN_CHANNEL);if(n===t-1)return null;const r=n+1,i=t-1;return this.filterForChannel(r,i,e)}filterForChannel(t,e,n){const r=[];for(let i=t;i=this.tokens.length&&(r=this.tokens.length-1);let i="";for(let e=n;e=0&&this._parseListeners.splice(e,1),0===this._parseListeners.length&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(null!==this._parseListeners){const t=this._ctx;this._parseListeners.forEach((function(e){e.enterEveryRule(t),t.enterRule(e)}))}}triggerExitRuleEvent(){if(null!==this._parseListeners){const t=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(e){t.exitRule(e),e.exitEveryRule(t)}))}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(t){this._input.tokenSource._factory=t}getATNWithBypassAlts(){const t=this.getSerializedATN();if(null===t)throw"The current parser does not support an ATN with bypass alternatives.";let e=this.bypassAltsAtnCache[t];if(null===e){const n=new vt;n.generateRuleBypassTransitions=!0,e=new Ot(n).deserialize(t),this.bypassAltsAtnCache[t]=e}return e}getInputStream(){return this.getTokenStream()}setInputStream(t){this.setTokenStream(t)}getTokenStream(){return this._input}setTokenStream(t){this._input=null,this.reset(),this._input=t}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(t,e,n){n=n||null,null===(e=e||null)&&(e=this.getCurrentToken()),this._syntaxErrors+=1;const r=e.line,i=e.column;this.getErrorListenerDispatch().syntaxError(this,e,r,i,t,n)}consume(){const e=this.getCurrentToken();e.type!==t.EOF&&this.getInputStream().consume();const n=null!==this._parseListeners&&this._parseListeners.length>0;if(this.buildParseTrees||n){let t;t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e),t.invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof L||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof C&&e.visitTerminal(t)}))}return e}addContextToParseTree(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(t,e,n){this.state=e,this._ctx=t,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(t,e){t.setAltNumber(e),this.buildParseTrees&&this._ctx!==t&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(t)),this._ctx=t}getPrecedence(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(t,e,n,r){this.state=e,this._precedenceStack.push(r),this._ctx=t,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(t,e,n){const r=this._ctx;r.parentCtx=t,r.invokingState=e,r.stop=this._input.LT(-1),this._ctx=t,this._ctx.start=r.start,this.buildParseTrees&&this._ctx.addChild(r),this.triggerEnterRuleEvent()}unrollRecursionContexts(t){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);const e=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==t;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=t;e.parentCtx=t,this.buildParseTrees&&null!==t&&t.addChild(e)}getInvokingContext(t){let e=this._ctx;for(;null!==e;){if(e.ruleIndex===t)return e;e=e.parentCtx}return null}precpred(t,e){return e>=this._precedenceStack[this._precedenceStack.length-1]}inContext(t){return!1}isExpectedToken(e){const n=this._interp.atn;let r=this._ctx;const i=n.states[this.state];let o=n.nextTokens(i);if(o.contains(e))return!0;if(!o.contains(t.EPSILON))return!1;for(;null!==r&&r.invokingState>=0&&o.contains(t.EPSILON);){const t=n.states[r.invokingState].transitions[0];if(o=n.nextTokens(t.followState),o.contains(e))return!0;r=r.parentCtx}return!(!o.contains(t.EPSILON)||e!==t.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){const t=this._interp.atn,e=t.states[this.state];return t.nextTokens(e)}getRuleIndex(t){const e=this.getRuleIndexMap()[t];return null!==e?e:-1}getRuleInvocationStack(t){null===(t=t||null)&&(t=this._ctx);const e=[];for(;null!==t;){const n=t.ruleIndex;n<0?e.push("n/a"):e.push(this.ruleNames[n]),t=t.parentCtx}return e}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let t=!1;for(let e=0;e0&&(t&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),t=!0)}}getSourceName(){return this._input.sourceName}setTrace(t){t?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new De(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}Me.bypassAltsAtnCache={};class je extends C{constructor(t){super(),this.parentCtx=null,this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(null===this.symbol)return v.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new v(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===t.EOF?"":this.symbol.text}}class Fe extends je{constructor(t){super(t)}isErrorNode(){return!0}accept(t){return t.visitErrorNode(this)}}class Be extends D{constructor(t,e){super(t,e),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(t){this.parentCtx=t.parentCtx,this.invokingState=t.invokingState,this.children=null,this.start=t.start,this.stop=t.stop,t.children&&(this.children=[],t.children.map((function(t){t instanceof Fe&&(this.children.push(t),t.parentCtx=this)}),this))}enterRule(t){}exitRule(t){}addChild(t){return null===this.children&&(this.children=[]),this.children.push(t),t}removeLastChild(){null!==this.children&&this.children.pop()}addTokenNode(t){const e=new je(t);return this.addChild(e),e.parentCtx=this,e}addErrorNode(t){const e=new Fe(t);return this.addChild(e),e.parentCtx=this,e}getChild(t,e){if(e=e||null,null===this.children||t<0||t>=this.children.length)return null;if(null===e)return this.children[t];for(let n=0;n=this.children.length)return null;for(let n=0;n2&&void 0!==arguments[2]?arguments[2]:ze.DEFAULT_PROGRAM_NAME;n="number"==typeof t?t:t.tokenIndex;let i=this.getProgram(r),o=new qe(this.tokens,n,i.length,e);i.push(o)}insertBefore(t,e){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ze.DEFAULT_PROGRAM_NAME;n="number"==typeof t?t:t.tokenIndex;const i=this.getProgram(r),o=new Ve(this.tokens,n,i.length,e);i.push(o)}replaceSingle(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ze.DEFAULT_PROGRAM_NAME;this.replace(t,t,e,n)}replace(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ze.DEFAULT_PROGRAM_NAME;if("number"!=typeof t&&(t=t.tokenIndex),"number"!=typeof e&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);let i=this.getProgram(r),o=new Ke(this.tokens,t,e,i.length,n);i.push(o)}delete(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ze.DEFAULT_PROGRAM_NAME;void 0===e&&(e=t),this.replace(t,e,null,n)}getProgram(t){let e=this.programs.get(t);return null==e&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ze.DEFAULT_PROGRAM_NAME;n=e instanceof v?e:new v(0,this.tokens.size-1),"string"==typeof e&&(r=e);const i=this.programs.get(r);let o=n.start,a=n.stop;if(a>this.tokens.size-1&&(a=this.tokens.size-1),o<0&&(o=0),null==i||0===i.length)return this.tokens.getText(new v(o,a));let s=[],u=this.reduceToSingleOperationPerIndex(i),c=o;for(;c<=a&&c=this.tokens.size-1&&s.push(t.text.toString());return s.join("")}reduceToSingleOperationPerIndex(t){for(let e=0;er.index&&e.index<=r.lastIndex&&(t[e.instructionIndex]=void 0);let o=this.getKindOfOps(t,Ke,e);for(let e of o){if(e.index>=r.index&&e.lastIndex<=r.lastIndex){t[e.instructionIndex]=void 0;continue}let n=e.lastIndexr.lastIndex;if(null!=e.text||null!=r.text||n){if(!n)throw new Error(`replace op boundaries of ${r} overlap with previous ${e}`)}else t[e.instructionIndex]=void 0,r.index=Math.min(e.index,r.index),r.lastIndex=Math.max(e.lastIndex,r.lastIndex)}}for(let e=0;e=n.index&&r.index<=n.lastIndex)throw new Error(`insert op ${r} within boundaries of previous ${n}`)}else n.text=this.catOpText(r.text,n.text),t[e]=void 0}let e=new Map;for(let n of t)if(null!=n){if(null!=e.get(n.index))throw new Error("should only be one op per index");e.set(n.index,n)}return e}catOpText(t,e){let n="",r="";return null!=t&&(n=t.toString()),null!=e&&(r=e.toString()),n+r}getKindOfOps(t,e,n){return t.slice(0,n).filter((t=>t&&t instanceof e))}}class Ue{constructor(t,e,n,r){this.tokens=t,this.instructionIndex=n,this.index=e,this.text=void 0===r?"":r}toString(){let t=this.constructor.name;const e=t.indexOf("$");return t=t.substring(e+1,t.length),"<"+t+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class Ve extends Ue{constructor(t,e,n,r){super(t,e,n,r)}execute(e){return this.text&&e.push(this.text.toString()),this.tokens.get(this.index).type!==t.EOF&&e.push(String(this.tokens.get(this.index).text)),this.index+1}}class qe extends Ve{constructor(t,e,n,r){super(t,e+1,n,r)}}class Ke extends Ue{constructor(t,e,n,r,i){super(t,e,r,i),this.lastIndex=n}execute(t){return this.text&&t.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"":"'}}const He={atn:oe,dfa:ce,context:le,misc:he,tree:me,error:Ee,Token:t,CommonToken:Rt,CharStreams:Pe,CharStream:Te,InputStream:Te,CommonTokenStream:Ie,Lexer:Ft,Parser:Me,ParserRuleContext:Be,Interval:v,IntervalSet:g,LL1Analyzer:G,Utils:Ce,TokenStreamRewriter:ze}})();var F=j.ZP;function B(t){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B(t)}function z(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{defaultValue:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),t=V(this,e,[n]);var r=n.defaultValue,i=n.description,o=n.sensitive,a=n.nullable;return t.__class="TerraformVariable",t.defaultValue=r||null,t.description=i||null,t.sensitive=o||!1,t.nullable=a||!1,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&H(t,e)}(e,t),n=e,(r=[{key:"formattedName",get:function(){var t="variable"===this.category?"var":"local";return"output"===this.category?null:"".concat(t,".").concat(this.name)}}])&&z(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(t.Variable);function W(t){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},W(t)}function G(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{isDynamic:!1};return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(t=Q(this,e,[n])).isDynamic=n.isDynamic||!1,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&J(t,e)}(e,t),n=e,(r=[{key:"isVariable",get:function(){return null!==this.value&&"string"==typeof this.value&&(this.value.startsWith("var.")||this.value.startsWith("local."))}}])&&G(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(t.ComponentAttribute);function et(t){return et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(t)}function nt(t,e){for(var n=0;n0){var t=this.fieldsTree.pop();t.value.push(this.currentObjectField),this.currentObjectField=t}else this.currentComponent.attributes.push(this.currentObjectField),this.currentObjectField=null}},{key:"enterBlocktype",value:function(){}},{key:"exitBlocktype",value:function(){}},{key:"enterResourcetype",value:function(t){var e=this,n=yt(t);if(this.currentComponent.definition=this.definitions.find((function(t){return t.blockType===e.currentBlockType&&t.type===n}))||new p({blockType:this.currentBlockType,type:n}),"provider"===this.currentBlockType){var r="".concat(n,".").concat(n);this.currentComponent.externalId=n,this.currentComponent.id=this.createIdFromTypeExternalId(r)}}},{key:"exitResourcetype",value:function(){}},{key:"enterName",value:function(){}},{key:"exitName",value:function(t){this.currentComponent?this.currentComponent.externalId=yt(t):this.currentVariable&&(this.currentVariable.name=yt(t))}},{key:"enterLabel",value:function(){}},{key:"exitLabel",value:function(){}},{key:"enterBlockbody",value:function(){}},{key:"exitBlockbody",value:function(){}},{key:"enterArgument",value:function(t){var e;if(null!==(e=t.expression())&&void 0!==e&&null!==(e=e.section())&&void 0!==e&&e.map_()){this.currentObjectField&&this.fieldsTree.push(this.currentObjectField);var n=t.identifier().getText();this.currentObjectField=new tt({name:n,type:"Object",value:[],definition:this.getAttributeDefinition(this.currentObjectField||this.currentComponent,n)})}this.isVariable()?(this.currentVariableField=t.identifier().getText(),"default"===this.currentVariableField&&(this.currentVariableField="defaultValue")):"local"===this.currentBlockType?(this.currentVariable=new $({category:"local",name:yt(t.identifier())}),this.currentVariableField="value"):this.currentField=new tt}},{key:"exitArgument",value:function(t){var e,n,r=this;if(this.isVariable()){var i=t.identifier().getText();"description"===i?this.currentVariable.description=yt(t.expression()):"sensitive"!==i&&"nullable"!==i||(this.currentVariable[i]="true"===yt(t.expression()))}else if("local"===this.currentBlockType)this.addVariable();else if(this.currentField)this.currentField.name=t.identifier().getText(),this.currentObjectField?(this.currentObjectField.value.push(this.currentField),this.currentField.definition=this.getAttributeDefinition(this.currentObjectField,this.currentField.name)):(this.currentComponent.attributes.push(this.currentField),this.currentField.definition=this.getAttributeDefinition(this.currentComponent,this.currentField.name));else if(this.currentObjectField.name=t.identifier().getText(),this.fieldsTree.length>0){var o=this.fieldsTree.pop();o.value.push(this.currentObjectField),this.currentObjectField=o}else this.currentComponent.attributes.push(this.currentObjectField),this.currentObjectField=null;if("Reference"===(null===(e=this.currentField)||void 0===e||null===(e=e.definition)||void 0===e?void 0:e.type)&&/([^.]+\.[^.]+)/.exec(this.currentField.value)&&(Array.isArray(this.currentField.value)?this.currentField.value=this.currentField.value.map((function(t){var e=/([^.]+\.[^.]+)\.([^.]+)/.exec(t);return r.createIdFromTypeExternalId(e[1])})):this.currentField.value=this.createIdFromTypeExternalId(this.currentField.value)),"Link"===(null===(n=this.currentField)||void 0===n||null===(n=n.definition)||void 0===n?void 0:n.type)){this.currentField.type="Array",Array.isArray(this.currentField.value)&&(this.currentField.value=this.currentField.value.map((function(t){var e=/([^.]+\.[^.]+)\.([^.]+)/.exec(t);return r.createIdFromTypeExternalId(e[1])})));var a=/([^.]+\.[^.]+)(\.([^.]+))?/.exec(this.currentField.value);a&&(this.currentField.value=[this.createIdFromTypeExternalId(a[1])])}this.currentField=null}},{key:"createIdFromTypeExternalId",value:function(t){if(this.ids.has(t))return this.ids.get(t);var e="id_".concat(this.idCounter);return this.idCounter+=1,this.ids.set(t,e),e}},{key:"enterIdentifier",value:function(){}},{key:"exitIdentifier",value:function(){}},{key:"enterIdentifierchain",value:function(){}},{key:"exitIdentifierchain",value:function(){}},{key:"enterInline_index",value:function(){}},{key:"exitInline_index",value:function(){}},{key:"enterExpression",value:function(){}},{key:"exitExpression",value:function(){}},{key:"enterForloop",value:function(){}},{key:"exitForloop",value:function(){}},{key:"enterSection",value:function(t){var e;if(!this.currentField&&!this.isVariable()&&null!==(e=t.val())&&void 0!==e&&e.identifier()){var n=yt(t.val());this.currentField=new tt({type:"String",value:"null"===n?null:n})}}},{key:"exitSection",value:function(){}},{key:"enterVal",value:function(){}},{key:"getFieldValueTypeFromContext",value:function(t){if(t.BOOL())return{value:"true"===t.BOOL().getText(),type:"Boolean"};if(t.signed_number())return{value:parseFloat(t.signed_number().getText()),type:"Number"};var e=yt(t);return{value:"null"===e?null:e,type:"String"}}},{key:"exitVal",value:function(t){var e=this.getFieldValueTypeFromContext(t),n=e.value,r=e.type;if(this.isVariable()||"local"===this.currentBlockType){var i=this.attributeTypeToVariableType(r);Array.isArray(this.currentVariable[this.currentVariableField])?(this.currentVariable[this.currentVariableField].push(n),"defaultValue"!==this.currentVariableField&&"value"!==this.currentVariableField||(this.currentVariable.type="list(".concat(i,")"))):(this.currentVariable[this.currentVariableField]=n,"defaultValue"!==this.currentVariableField&&"value"!==this.currentVariableField||(this.currentVariable.type=i))}else"Array"===this.currentField.type?this.currentField.value.push(n):(this.currentField.value=n,this.currentField.type=r)}},{key:"enterFunctioncall",value:function(){}},{key:"exitFunctioncall",value:function(){}},{key:"enterFunctionname",value:function(){}},{key:"exitFunctionname",value:function(){}},{key:"enterFunctionarguments",value:function(){}},{key:"exitFunctionarguments",value:function(){}},{key:"enterIndex",value:function(){}},{key:"exitIndex",value:function(){}},{key:"enterFiledecl",value:function(){}},{key:"exitFiledecl",value:function(){}},{key:"enterList_",value:function(){this.currentField?this.currentField&&(this.currentField.type="Array",this.currentField.value=[]):this.currentField=new tt({type:"Array",value:[]}),this.isVariable()?this.currentVariable[this.currentVariableField]=[]:"local"===this.currentBlockType&&(this.currentVariable.value=[])}},{key:"exitList_",value:function(){this.currentField&&(this.currentField.type="Array")}},{key:"enterMap_",value:function(){}},{key:"exitMap_",value:function(){}},{key:"enterString",value:function(){}},{key:"exitString",value:function(){}},{key:"enterNumber",value:function(){}},{key:"exitNumber",value:function(){}},{key:"enterSigned_number",value:function(){}},{key:"exitSigned_number",value:function(){}}])&<(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(F.tree.ParseTreeListener);function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function bt(t,e,n){return e=wt(e),function(t,e){if(e&&("object"===gt(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,_t()?Reflect.construct(e,n||[],wt(t).constructor):e.apply(t,n))}function _t(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_t=function(){return!!t})()}function wt(t){return wt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},wt(t)}function xt(t,e){return xt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},xt(t,e)}function kt(t,e,n){return(e=Et(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Et(t){var e=function(t,e){if("object"!=gt(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==gt(e)?e:e+""}var St=(new F.atn.ATNDeserializer).deserialize([4,0,49,390,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,5,39,261,8,39,10,39,12,39,264,9,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,4,41,275,8,41,11,41,12,41,276,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,288,8,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,5,43,305,8,43,10,43,12,43,308,9,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44,330,8,44,10,44,12,44,333,9,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,5,45,343,8,45,10,45,12,45,346,9,45,1,45,1,45,1,46,1,46,5,46,352,8,46,10,46,12,46,355,9,46,1,47,1,47,1,47,3,47,360,8,47,1,47,5,47,363,8,47,10,47,12,47,366,9,47,1,47,1,47,1,48,1,48,1,48,1,48,5,48,374,8,48,10,48,12,48,377,9,48,1,48,1,48,1,48,1,48,1,48,1,49,4,49,385,8,49,11,49,12,49,386,1,49,1,49,4,262,306,331,375,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,0,61,30,63,31,65,32,67,33,69,34,71,35,73,36,75,37,77,38,79,39,81,40,83,41,85,42,87,43,89,44,91,45,93,46,95,47,97,48,99,49,1,0,6,1,0,48,57,3,0,10,10,13,13,34,34,2,0,65,90,97,122,5,0,45,45,48,57,65,90,95,95,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,400,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,1,101,1,0,0,0,3,111,1,0,0,0,5,120,1,0,0,0,7,125,1,0,0,0,9,132,1,0,0,0,11,139,1,0,0,0,13,146,1,0,0,0,15,148,1,0,0,0,17,154,1,0,0,0,19,158,1,0,0,0,21,160,1,0,0,0,23,162,1,0,0,0,25,166,1,0,0,0,27,177,1,0,0,0,29,179,1,0,0,0,31,181,1,0,0,0,33,183,1,0,0,0,35,188,1,0,0,0,37,190,1,0,0,0,39,192,1,0,0,0,41,194,1,0,0,0,43,196,1,0,0,0,45,198,1,0,0,0,47,201,1,0,0,0,49,203,1,0,0,0,51,206,1,0,0,0,53,209,1,0,0,0,55,212,1,0,0,0,57,215,1,0,0,0,59,218,1,0,0,0,61,220,1,0,0,0,63,229,1,0,0,0,65,238,1,0,0,0,67,241,1,0,0,0,69,243,1,0,0,0,71,245,1,0,0,0,73,247,1,0,0,0,75,249,1,0,0,0,77,251,1,0,0,0,79,253,1,0,0,0,81,269,1,0,0,0,83,274,1,0,0,0,85,287,1,0,0,0,87,289,1,0,0,0,89,321,1,0,0,0,91,338,1,0,0,0,93,349,1,0,0,0,95,359,1,0,0,0,97,369,1,0,0,0,99,384,1,0,0,0,101,102,5,116,0,0,102,103,5,101,0,0,103,104,5,114,0,0,104,105,5,114,0,0,105,106,5,97,0,0,106,107,5,102,0,0,107,108,5,111,0,0,108,109,5,114,0,0,109,110,5,109,0,0,110,2,1,0,0,0,111,112,5,114,0,0,112,113,5,101,0,0,113,114,5,115,0,0,114,115,5,111,0,0,115,116,5,117,0,0,116,117,5,114,0,0,117,118,5,99,0,0,118,119,5,101,0,0,119,4,1,0,0,0,120,121,5,100,0,0,121,122,5,97,0,0,122,123,5,116,0,0,123,124,5,97,0,0,124,6,1,0,0,0,125,126,5,111,0,0,126,127,5,117,0,0,127,128,5,116,0,0,128,129,5,112,0,0,129,130,5,117,0,0,130,131,5,116,0,0,131,8,1,0,0,0,132,133,5,108,0,0,133,134,5,111,0,0,134,135,5,99,0,0,135,136,5,97,0,0,136,137,5,108,0,0,137,138,5,115,0,0,138,10,1,0,0,0,139,140,5,109,0,0,140,141,5,111,0,0,141,142,5,100,0,0,142,143,5,117,0,0,143,144,5,108,0,0,144,145,5,101,0,0,145,12,1,0,0,0,146,147,5,61,0,0,147,14,1,0,0,0,148,149,5,108,0,0,149,150,5,111,0,0,150,151,5,99,0,0,151,152,5,97,0,0,152,153,5,108,0,0,153,16,1,0,0,0,154,155,5,118,0,0,155,156,5,97,0,0,156,157,5,114,0,0,157,18,1,0,0,0,158,159,5,63,0,0,159,20,1,0,0,0,160,161,5,58,0,0,161,22,1,0,0,0,162,163,5,102,0,0,163,164,5,111,0,0,164,165,5,114,0,0,165,24,1,0,0,0,166,167,5,106,0,0,167,168,5,115,0,0,168,169,5,111,0,0,169,170,5,110,0,0,170,171,5,101,0,0,171,172,5,110,0,0,172,173,5,99,0,0,173,174,5,111,0,0,174,175,5,100,0,0,175,176,5,101,0,0,176,26,1,0,0,0,177,178,5,44,0,0,178,28,1,0,0,0,179,180,5,91,0,0,180,30,1,0,0,0,181,182,5,93,0,0,182,32,1,0,0,0,183,184,5,102,0,0,184,185,5,105,0,0,185,186,5,108,0,0,186,187,5,101,0,0,187,34,1,0,0,0,188,189,5,43,0,0,189,36,1,0,0,0,190,191,5,45,0,0,191,38,1,0,0,0,192,193,5,47,0,0,193,40,1,0,0,0,194,195,5,37,0,0,195,42,1,0,0,0,196,197,5,62,0,0,197,44,1,0,0,0,198,199,5,62,0,0,199,200,5,61,0,0,200,46,1,0,0,0,201,202,5,60,0,0,202,48,1,0,0,0,203,204,5,60,0,0,204,205,5,61,0,0,205,50,1,0,0,0,206,207,5,61,0,0,207,208,5,61,0,0,208,52,1,0,0,0,209,210,5,33,0,0,210,211,5,61,0,0,211,54,1,0,0,0,212,213,5,38,0,0,213,214,5,38,0,0,214,56,1,0,0,0,215,216,5,124,0,0,216,217,5,124,0,0,217,58,1,0,0,0,218,219,7,0,0,0,219,60,1,0,0,0,220,221,5,118,0,0,221,222,5,97,0,0,222,223,5,114,0,0,223,224,5,105,0,0,224,225,5,97,0,0,225,226,5,98,0,0,226,227,5,108,0,0,227,228,5,101,0,0,228,62,1,0,0,0,229,230,5,112,0,0,230,231,5,114,0,0,231,232,5,111,0,0,232,233,5,118,0,0,233,234,5,105,0,0,234,235,5,100,0,0,235,236,5,101,0,0,236,237,5,114,0,0,237,64,1,0,0,0,238,239,5,105,0,0,239,240,5,110,0,0,240,66,1,0,0,0,241,242,5,42,0,0,242,68,1,0,0,0,243,244,5,46,0,0,244,70,1,0,0,0,245,246,5,123,0,0,246,72,1,0,0,0,247,248,5,125,0,0,248,74,1,0,0,0,249,250,5,40,0,0,250,76,1,0,0,0,251,252,5,41,0,0,252,78,1,0,0,0,253,254,5,60,0,0,254,255,5,60,0,0,255,256,5,69,0,0,256,257,5,79,0,0,257,258,5,70,0,0,258,262,1,0,0,0,259,261,9,0,0,0,260,259,1,0,0,0,261,264,1,0,0,0,262,263,1,0,0,0,262,260,1,0,0,0,263,265,1,0,0,0,264,262,1,0,0,0,265,266,5,69,0,0,266,267,5,79,0,0,267,268,5,70,0,0,268,80,1,0,0,0,269,270,5,110,0,0,270,271,5,117,0,0,271,272,5,108,0,0,272,82,1,0,0,0,273,275,3,59,29,0,274,273,1,0,0,0,275,276,1,0,0,0,276,274,1,0,0,0,276,277,1,0,0,0,277,84,1,0,0,0,278,279,5,116,0,0,279,280,5,114,0,0,280,281,5,117,0,0,281,288,5,101,0,0,282,283,5,102,0,0,283,284,5,97,0,0,284,285,5,108,0,0,285,286,5,115,0,0,286,288,5,101,0,0,287,278,1,0,0,0,287,282,1,0,0,0,288,86,1,0,0,0,289,290,5,60,0,0,290,291,5,60,0,0,291,292,5,68,0,0,292,293,5,69,0,0,293,294,5,83,0,0,294,295,5,67,0,0,295,296,5,82,0,0,296,297,5,73,0,0,297,298,5,80,0,0,298,299,5,84,0,0,299,300,5,73,0,0,300,301,5,79,0,0,301,302,5,78,0,0,302,306,1,0,0,0,303,305,9,0,0,0,304,303,1,0,0,0,305,308,1,0,0,0,306,307,1,0,0,0,306,304,1,0,0,0,307,309,1,0,0,0,308,306,1,0,0,0,309,310,5,68,0,0,310,311,5,69,0,0,311,312,5,83,0,0,312,313,5,67,0,0,313,314,5,82,0,0,314,315,5,73,0,0,315,316,5,80,0,0,316,317,5,84,0,0,317,318,5,73,0,0,318,319,5,79,0,0,319,320,5,78,0,0,320,88,1,0,0,0,321,322,5,60,0,0,322,323,5,60,0,0,323,324,5,45,0,0,324,325,5,69,0,0,325,326,5,79,0,0,326,327,5,70,0,0,327,331,1,0,0,0,328,330,9,0,0,0,329,328,1,0,0,0,330,333,1,0,0,0,331,332,1,0,0,0,331,329,1,0,0,0,332,334,1,0,0,0,333,331,1,0,0,0,334,335,5,69,0,0,335,336,5,79,0,0,336,337,5,70,0,0,337,90,1,0,0,0,338,344,5,34,0,0,339,340,5,92,0,0,340,343,5,34,0,0,341,343,8,1,0,0,342,339,1,0,0,0,342,341,1,0,0,0,343,346,1,0,0,0,344,342,1,0,0,0,344,345,1,0,0,0,345,347,1,0,0,0,346,344,1,0,0,0,347,348,5,34,0,0,348,92,1,0,0,0,349,353,7,2,0,0,350,352,7,3,0,0,351,350,1,0,0,0,352,355,1,0,0,0,353,351,1,0,0,0,353,354,1,0,0,0,354,94,1,0,0,0,355,353,1,0,0,0,356,360,5,35,0,0,357,358,5,47,0,0,358,360,5,47,0,0,359,356,1,0,0,0,359,357,1,0,0,0,360,364,1,0,0,0,361,363,8,4,0,0,362,361,1,0,0,0,363,366,1,0,0,0,364,362,1,0,0,0,364,365,1,0,0,0,365,367,1,0,0,0,366,364,1,0,0,0,367,368,6,47,0,0,368,96,1,0,0,0,369,370,5,47,0,0,370,371,5,42,0,0,371,375,1,0,0,0,372,374,9,0,0,0,373,372,1,0,0,0,374,377,1,0,0,0,375,376,1,0,0,0,375,373,1,0,0,0,376,378,1,0,0,0,377,375,1,0,0,0,378,379,5,42,0,0,379,380,5,47,0,0,380,381,1,0,0,0,381,382,6,48,0,0,382,98,1,0,0,0,383,385,7,5,0,0,384,383,1,0,0,0,385,386,1,0,0,0,386,384,1,0,0,0,386,387,1,0,0,0,387,388,1,0,0,0,388,389,6,49,1,0,389,100,1,0,0,0,13,0,262,276,287,306,331,342,344,353,359,364,375,386,2,0,1,0,6,0,0]),Tt=St.decisionToState.map((function(t,e){return new F.dfa.DFA(t,e)})),At=function(t){function e(t){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=bt(this,e,[t]))._interp=new F.atn.LexerATNSimulator(n,St,Tt,new F.atn.PredictionContextCache),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&xt(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(F.Lexer);function Ot(t){return Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ot(t)}function Nt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Pt(t,e){for(var n=0;n'","'>='","'<'","'<='","'=='","'!='","'&&'","'||'","'variable'","'provider'","'in'","'*'","'.'","'{'","'}'","'('","')'",null,"'nul'"]),kt(At,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),kt(At,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","DIGIT","VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),At.EOF=F.Token.EOF,At.T__0=1,At.T__1=2,At.T__2=3,At.T__3=4,At.T__4=5,At.T__5=6,At.T__6=7,At.T__7=8,At.T__8=9,At.T__9=10,At.T__10=11,At.T__11=12,At.T__12=13,At.T__13=14,At.T__14=15,At.T__15=16,At.T__16=17,At.T__17=18,At.T__18=19,At.T__19=20,At.T__20=21,At.T__21=22,At.T__22=23,At.T__23=24,At.T__24=25,At.T__25=26,At.T__26=27,At.T__27=28,At.T__28=29,At.VARIABLE=30,At.PROVIDER=31,At.IN=32,At.STAR=33,At.DOT=34,At.LCURL=35,At.RCURL=36,At.LPAREN=37,At.RPAREN=38,At.EOF_=39,At.NULL_=40,At.NATURAL_NUMBER=41,At.BOOL=42,At.DESCRIPTION=43,At.MULTILINESTRING=44,At.STRING=45,At.IDENTIFIER=46,At.COMMENT=47,At.BLOCKCOMMENT=48,At.WS=49;var Bt=(new F.atn.ATNDeserializer).deserialize([4,1,49,310,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,77,8,0,11,0,12,0,78,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,5,9,117,8,9,10,9,12,9,120,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,14,5,14,135,8,14,10,14,12,14,138,9,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,3,16,148,8,16,1,16,1,16,1,17,1,17,3,17,154,8,17,1,17,1,17,5,17,158,8,17,10,17,12,17,161,9,17,1,17,1,17,1,17,5,17,166,8,17,10,17,12,17,169,9,17,1,17,1,17,1,17,5,17,174,8,17,10,17,12,17,177,9,17,3,17,179,8,17,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,190,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,5,19,202,8,19,10,19,12,19,205,9,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,3,21,217,8,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,228,8,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,5,23,238,8,23,10,23,12,23,241,9,23,1,23,3,23,244,8,23,1,24,1,24,1,25,1,25,1,25,1,25,5,25,252,8,25,10,25,12,25,255,9,25,3,25,257,8,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,5,28,272,8,28,10,28,12,28,275,9,28,1,28,3,28,278,8,28,3,28,280,8,28,1,28,1,28,1,29,1,29,1,29,3,29,287,8,29,5,29,289,8,29,10,29,12,29,292,9,29,1,29,1,29,1,30,1,30,1,31,3,31,299,8,31,1,31,1,31,1,32,1,32,1,33,1,33,1,33,3,33,308,8,33,1,33,1,239,1,38,34,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,0,5,3,0,3,3,6,6,8,9,2,0,30,32,46,46,1,0,44,45,1,0,18,19,2,0,18,29,33,33,318,0,76,1,0,0,0,2,82,1,0,0,0,4,85,1,0,0,0,6,90,1,0,0,0,8,95,1,0,0,0,10,99,1,0,0,0,12,103,1,0,0,0,14,106,1,0,0,0,16,110,1,0,0,0,18,114,1,0,0,0,20,123,1,0,0,0,22,125,1,0,0,0,24,127,1,0,0,0,26,129,1,0,0,0,28,131,1,0,0,0,30,141,1,0,0,0,32,147,1,0,0,0,34,178,1,0,0,0,36,180,1,0,0,0,38,189,1,0,0,0,40,206,1,0,0,0,42,216,1,0,0,0,44,227,1,0,0,0,46,243,1,0,0,0,48,245,1,0,0,0,50,256,1,0,0,0,52,258,1,0,0,0,54,262,1,0,0,0,56,267,1,0,0,0,58,283,1,0,0,0,60,295,1,0,0,0,62,298,1,0,0,0,64,302,1,0,0,0,66,304,1,0,0,0,68,77,3,12,6,0,69,77,3,14,7,0,70,77,3,10,5,0,71,77,3,8,4,0,72,77,3,16,8,0,73,77,3,6,3,0,74,77,3,4,2,0,75,77,3,2,1,0,76,68,1,0,0,0,76,69,1,0,0,0,76,70,1,0,0,0,76,71,1,0,0,0,76,72,1,0,0,0,76,73,1,0,0,0,76,74,1,0,0,0,76,75,1,0,0,0,77,78,1,0,0,0,78,76,1,0,0,0,78,79,1,0,0,0,79,80,1,0,0,0,80,81,5,0,0,1,81,1,1,0,0,0,82,83,5,1,0,0,83,84,3,28,14,0,84,3,1,0,0,0,85,86,5,2,0,0,86,87,3,22,11,0,87,88,3,24,12,0,88,89,3,28,14,0,89,5,1,0,0,0,90,91,5,3,0,0,91,92,3,22,11,0,92,93,3,24,12,0,93,94,3,28,14,0,94,7,1,0,0,0,95,96,5,31,0,0,96,97,3,22,11,0,97,98,3,28,14,0,98,9,1,0,0,0,99,100,5,4,0,0,100,101,3,24,12,0,101,102,3,28,14,0,102,11,1,0,0,0,103,104,5,5,0,0,104,105,3,28,14,0,105,13,1,0,0,0,106,107,5,6,0,0,107,108,3,24,12,0,108,109,3,28,14,0,109,15,1,0,0,0,110,111,5,30,0,0,111,112,3,24,12,0,112,113,3,28,14,0,113,17,1,0,0,0,114,118,3,20,10,0,115,117,3,26,13,0,116,115,1,0,0,0,117,120,1,0,0,0,118,116,1,0,0,0,118,119,1,0,0,0,119,121,1,0,0,0,120,118,1,0,0,0,121,122,3,28,14,0,122,19,1,0,0,0,123,124,5,46,0,0,124,21,1,0,0,0,125,126,5,45,0,0,126,23,1,0,0,0,127,128,5,45,0,0,128,25,1,0,0,0,129,130,5,45,0,0,130,27,1,0,0,0,131,136,5,35,0,0,132,135,3,30,15,0,133,135,3,18,9,0,134,132,1,0,0,0,134,133,1,0,0,0,135,138,1,0,0,0,136,134,1,0,0,0,136,137,1,0,0,0,137,139,1,0,0,0,138,136,1,0,0,0,139,140,5,36,0,0,140,29,1,0,0,0,141,142,3,32,16,0,142,143,5,7,0,0,143,144,3,38,19,0,144,31,1,0,0,0,145,146,7,0,0,0,146,148,5,34,0,0,147,145,1,0,0,0,147,148,1,0,0,0,148,149,1,0,0,0,149,150,3,34,17,0,150,33,1,0,0,0,151,153,7,1,0,0,152,154,3,52,26,0,153,152,1,0,0,0,153,154,1,0,0,0,154,159,1,0,0,0,155,156,5,34,0,0,156,158,3,34,17,0,157,155,1,0,0,0,158,161,1,0,0,0,159,157,1,0,0,0,159,160,1,0,0,0,160,179,1,0,0,0,161,159,1,0,0,0,162,167,5,33,0,0,163,164,5,34,0,0,164,166,3,34,17,0,165,163,1,0,0,0,166,169,1,0,0,0,167,165,1,0,0,0,167,168,1,0,0,0,168,179,1,0,0,0,169,167,1,0,0,0,170,175,3,36,18,0,171,172,5,34,0,0,172,174,3,34,17,0,173,171,1,0,0,0,174,177,1,0,0,0,175,173,1,0,0,0,175,176,1,0,0,0,176,179,1,0,0,0,177,175,1,0,0,0,178,151,1,0,0,0,178,162,1,0,0,0,178,170,1,0,0,0,179,35,1,0,0,0,180,181,5,41,0,0,181,37,1,0,0,0,182,183,6,19,-1,0,183,190,3,42,21,0,184,185,5,37,0,0,185,186,3,38,19,0,186,187,5,38,0,0,187,190,1,0,0,0,188,190,3,40,20,0,189,182,1,0,0,0,189,184,1,0,0,0,189,188,1,0,0,0,190,203,1,0,0,0,191,192,10,4,0,0,192,193,3,64,32,0,193,194,3,38,19,5,194,202,1,0,0,0,195,196,10,2,0,0,196,197,5,10,0,0,197,198,3,38,19,0,198,199,5,11,0,0,199,200,3,38,19,3,200,202,1,0,0,0,201,191,1,0,0,0,201,195,1,0,0,0,202,205,1,0,0,0,203,201,1,0,0,0,203,204,1,0,0,0,204,39,1,0,0,0,205,203,1,0,0,0,206,207,5,12,0,0,207,208,3,32,16,0,208,209,5,32,0,0,209,210,3,38,19,0,210,211,5,11,0,0,211,212,3,38,19,0,212,41,1,0,0,0,213,217,3,56,28,0,214,217,3,58,29,0,215,217,3,44,22,0,216,213,1,0,0,0,216,214,1,0,0,0,216,215,1,0,0,0,217,43,1,0,0,0,218,228,5,40,0,0,219,228,3,62,31,0,220,228,3,60,30,0,221,228,3,32,16,0,222,228,5,42,0,0,223,228,5,43,0,0,224,228,3,54,27,0,225,228,3,46,23,0,226,228,5,39,0,0,227,218,1,0,0,0,227,219,1,0,0,0,227,220,1,0,0,0,227,221,1,0,0,0,227,222,1,0,0,0,227,223,1,0,0,0,227,224,1,0,0,0,227,225,1,0,0,0,227,226,1,0,0,0,228,45,1,0,0,0,229,230,3,48,24,0,230,231,5,37,0,0,231,232,3,50,25,0,232,233,5,38,0,0,233,244,1,0,0,0,234,235,5,13,0,0,235,239,5,37,0,0,236,238,9,0,0,0,237,236,1,0,0,0,238,241,1,0,0,0,239,240,1,0,0,0,239,237,1,0,0,0,240,242,1,0,0,0,241,239,1,0,0,0,242,244,5,38,0,0,243,229,1,0,0,0,243,234,1,0,0,0,244,47,1,0,0,0,245,246,5,46,0,0,246,49,1,0,0,0,247,257,1,0,0,0,248,253,3,38,19,0,249,250,5,14,0,0,250,252,3,38,19,0,251,249,1,0,0,0,252,255,1,0,0,0,253,251,1,0,0,0,253,254,1,0,0,0,254,257,1,0,0,0,255,253,1,0,0,0,256,247,1,0,0,0,256,248,1,0,0,0,257,51,1,0,0,0,258,259,5,15,0,0,259,260,3,38,19,0,260,261,5,16,0,0,261,53,1,0,0,0,262,263,5,17,0,0,263,264,5,37,0,0,264,265,3,38,19,0,265,266,5,38,0,0,266,55,1,0,0,0,267,279,5,15,0,0,268,273,3,38,19,0,269,270,5,14,0,0,270,272,3,38,19,0,271,269,1,0,0,0,272,275,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,277,1,0,0,0,275,273,1,0,0,0,276,278,5,14,0,0,277,276,1,0,0,0,277,278,1,0,0,0,278,280,1,0,0,0,279,268,1,0,0,0,279,280,1,0,0,0,280,281,1,0,0,0,281,282,5,16,0,0,282,57,1,0,0,0,283,290,5,35,0,0,284,286,3,30,15,0,285,287,5,14,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,284,1,0,0,0,289,292,1,0,0,0,290,288,1,0,0,0,290,291,1,0,0,0,291,293,1,0,0,0,292,290,1,0,0,0,293,294,5,36,0,0,294,59,1,0,0,0,295,296,7,2,0,0,296,61,1,0,0,0,297,299,7,3,0,0,298,297,1,0,0,0,298,299,1,0,0,0,299,300,1,0,0,0,300,301,3,66,33,0,301,63,1,0,0,0,302,303,7,4,0,0,303,65,1,0,0,0,304,307,5,41,0,0,305,306,5,34,0,0,306,308,5,41,0,0,307,305,1,0,0,0,307,308,1,0,0,0,308,67,1,0,0,0,27,76,78,118,134,136,147,153,159,167,175,178,189,201,203,216,227,239,243,253,256,273,277,279,286,290,298,307]),zt=Bt.decisionToState.map((function(t,e){return new F.dfa.DFA(t,e)})),Ut=new F.atn.PredictionContextCache,Vt=function(t){function e(t){var n;return Nt(this,e),(n=Lt(this,e,[t]))._interp=new F.atn.ParserATNSimulator(n,Bt,zt,Ut),n.ruleNames=e.ruleNames,n.literalNames=e.literalNames,n.symbolicNames=e.symbolicNames,n}return Dt(e,t),Ct(e,[{key:"sempred",value:function(t,e,n){if(19===e)return this.expression_sempred(t,n);throw"No predicate with index:"+e}},{key:"expression_sempred",value:function(t,e){switch(e){case 0:return this.precpred(this._ctx,4);case 1:return this.precpred(this._ctx,2);default:throw"No predicate with index:"+e}}},{key:"file_",value:function(){var t=new qt(this,this._ctx,this.state);this.enterRule(t,0,e.RULE_file_);var n=0;try{this.enterOuterAlt(t,1),this.state=76,this._errHandler.sync(this),n=this._input.LA(1);do{switch(this.state=76,this._errHandler.sync(this),this._input.LA(1)){case 5:this.state=68,this.local();break;case 6:this.state=69,this.module();break;case 4:this.state=70,this.output();break;case 31:this.state=71,this.provider();break;case 30:this.state=72,this.variable();break;case 3:this.state=73,this.data();break;case 2:this.state=74,this.resource();break;case 1:this.state=75,this.terraform();break;default:throw new F.error.NoViableAltException(this)}this.state=78,this._errHandler.sync(this),n=this._input.LA(1)}while(!(-32&n)&&1<'","'>='","'<'","'<='","'=='","'!='","'&&'","'||'","'variable'","'provider'","'in'","'*'","'.'","'{'","'}'","'('","')'",null,"'nul'"]),jt(Vt,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"VARIABLE","PROVIDER","IN","STAR","DOT","LCURL","RCURL","LPAREN","RPAREN","EOF_","NULL_","NATURAL_NUMBER","BOOL","DESCRIPTION","MULTILINESTRING","STRING","IDENTIFIER","COMMENT","BLOCKCOMMENT","WS"]),jt(Vt,"ruleNames",["file_","terraform","resource","data","provider","output","local","module","variable","block","blocktype","resourcetype","name","label","blockbody","argument","identifier","identifierchain","inline_index","expression","forloop","section","val","functioncall","functionname","functionarguments","index","filedecl","list_","map_","string","signed_number","operator_","number"]),Vt.EOF=F.Token.EOF,Vt.T__0=1,Vt.T__1=2,Vt.T__2=3,Vt.T__3=4,Vt.T__4=5,Vt.T__5=6,Vt.T__6=7,Vt.T__7=8,Vt.T__8=9,Vt.T__9=10,Vt.T__10=11,Vt.T__11=12,Vt.T__12=13,Vt.T__13=14,Vt.T__14=15,Vt.T__15=16,Vt.T__16=17,Vt.T__17=18,Vt.T__18=19,Vt.T__19=20,Vt.T__20=21,Vt.T__21=22,Vt.T__22=23,Vt.T__23=24,Vt.T__24=25,Vt.T__25=26,Vt.T__26=27,Vt.T__27=28,Vt.T__28=29,Vt.VARIABLE=30,Vt.PROVIDER=31,Vt.IN=32,Vt.STAR=33,Vt.DOT=34,Vt.LCURL=35,Vt.RCURL=36,Vt.LPAREN=37,Vt.RPAREN=38,Vt.EOF_=39,Vt.NULL_=40,Vt.NATURAL_NUMBER=41,Vt.BOOL=42,Vt.DESCRIPTION=43,Vt.MULTILINESTRING=44,Vt.STRING=45,Vt.IDENTIFIER=46,Vt.COMMENT=47,Vt.BLOCKCOMMENT=48,Vt.WS=49,Vt.RULE_file_=0,Vt.RULE_terraform=1,Vt.RULE_resource=2,Vt.RULE_data=3,Vt.RULE_provider=4,Vt.RULE_output=5,Vt.RULE_local=6,Vt.RULE_module=7,Vt.RULE_variable=8,Vt.RULE_block=9,Vt.RULE_blocktype=10,Vt.RULE_resourcetype=11,Vt.RULE_name=12,Vt.RULE_label=13,Vt.RULE_blockbody=14,Vt.RULE_argument=15,Vt.RULE_identifier=16,Vt.RULE_identifierchain=17,Vt.RULE_inline_index=18,Vt.RULE_expression=19,Vt.RULE_forloop=20,Vt.RULE_section=21,Vt.RULE_val=22,Vt.RULE_functioncall=23,Vt.RULE_functionname=24,Vt.RULE_functionarguments=25,Vt.RULE_index=26,Vt.RULE_filedecl=27,Vt.RULE_list_=28,Vt.RULE_map_=29,Vt.RULE_string=30,Vt.RULE_signed_number=31,Vt.RULE_operator_=32,Vt.RULE_number=33;var qt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"local",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Yt):this.getTypedRuleContext(Yt,t)})),jt(i,"module",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Qt):this.getTypedRuleContext(Qt,t)})),jt(i,"output",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Gt):this.getTypedRuleContext(Gt,t)})),jt(i,"provider",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Wt):this.getTypedRuleContext(Wt,t)})),jt(i,"variable",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Xt):this.getTypedRuleContext(Xt,t)})),jt(i,"data",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts($t):this.getTypedRuleContext($t,t)})),jt(i,"resource",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Ht):this.getTypedRuleContext(Ht,t)})),jt(i,"terraform",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Kt):this.getTypedRuleContext(Kt,t)})),i.parser=t,i.ruleIndex=Vt.RULE_file_,i}return Dt(e,t),Ct(e,[{key:"EOF",value:function(){return this.getToken(Vt.EOF,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterFile_(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitFile_(this)}}])}(F.ParserRuleContext),Kt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_terraform,i}return Dt(e,t),Ct(e,[{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterTerraform(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitTerraform(this)}}])}(F.ParserRuleContext),Ht=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_resource,i}return Dt(e,t),Ct(e,[{key:"resourcetype",value:function(){return this.getTypedRuleContext(te,0)}},{key:"name",value:function(){return this.getTypedRuleContext(ee,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterResource(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitResource(this)}}])}(F.ParserRuleContext),$t=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_data,i}return Dt(e,t),Ct(e,[{key:"resourcetype",value:function(){return this.getTypedRuleContext(te,0)}},{key:"name",value:function(){return this.getTypedRuleContext(ee,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterData(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitData(this)}}])}(F.ParserRuleContext),Wt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_provider,i}return Dt(e,t),Ct(e,[{key:"PROVIDER",value:function(){return this.getToken(Vt.PROVIDER,0)}},{key:"resourcetype",value:function(){return this.getTypedRuleContext(te,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterProvider(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitProvider(this)}}])}(F.ParserRuleContext),Gt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_output,i}return Dt(e,t),Ct(e,[{key:"name",value:function(){return this.getTypedRuleContext(ee,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterOutput(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitOutput(this)}}])}(F.ParserRuleContext),Yt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_local,i}return Dt(e,t),Ct(e,[{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterLocal(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitLocal(this)}}])}(F.ParserRuleContext),Qt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_module,i}return Dt(e,t),Ct(e,[{key:"name",value:function(){return this.getTypedRuleContext(ee,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterModule(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitModule(this)}}])}(F.ParserRuleContext),Xt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_variable,i}return Dt(e,t),Ct(e,[{key:"VARIABLE",value:function(){return this.getToken(Vt.VARIABLE,0)}},{key:"name",value:function(){return this.getTypedRuleContext(ee,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterVariable(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitVariable(this)}}])}(F.ParserRuleContext),Zt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"label",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ne):this.getTypedRuleContext(ne,t)})),i.parser=t,i.ruleIndex=Vt.RULE_block,i}return Dt(e,t),Ct(e,[{key:"blocktype",value:function(){return this.getTypedRuleContext(Jt,0)}},{key:"blockbody",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterBlock(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitBlock(this)}}])}(F.ParserRuleContext),Jt=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_blocktype,i}return Dt(e,t),Ct(e,[{key:"IDENTIFIER",value:function(){return this.getToken(Vt.IDENTIFIER,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterBlocktype(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitBlocktype(this)}}])}(F.ParserRuleContext),te=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_resourcetype,i}return Dt(e,t),Ct(e,[{key:"STRING",value:function(){return this.getToken(Vt.STRING,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterResourcetype(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitResourcetype(this)}}])}(F.ParserRuleContext),ee=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_name,i}return Dt(e,t),Ct(e,[{key:"STRING",value:function(){return this.getToken(Vt.STRING,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterName(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitName(this)}}])}(F.ParserRuleContext),ne=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_label,i}return Dt(e,t),Ct(e,[{key:"STRING",value:function(){return this.getToken(Vt.STRING,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterLabel(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitLabel(this)}}])}(F.ParserRuleContext),re=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"argument",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ie):this.getTypedRuleContext(ie,t)})),jt(i,"block",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(Zt):this.getTypedRuleContext(Zt,t)})),i.parser=t,i.ruleIndex=Vt.RULE_blockbody,i}return Dt(e,t),Ct(e,[{key:"LCURL",value:function(){return this.getToken(Vt.LCURL,0)}},{key:"RCURL",value:function(){return this.getToken(Vt.RCURL,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterBlockbody(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitBlockbody(this)}}])}(F.ParserRuleContext),ie=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_argument,i}return Dt(e,t),Ct(e,[{key:"identifier",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"expression",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterArgument(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitArgument(this)}}])}(F.ParserRuleContext),oe=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_identifier,i}return Dt(e,t),Ct(e,[{key:"identifierchain",value:function(){return this.getTypedRuleContext(ae,0)}},{key:"DOT",value:function(){return this.getToken(Vt.DOT,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterIdentifier(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitIdentifier(this)}}])}(F.ParserRuleContext),ae=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"DOT",(function(t){return void 0===t&&(t=null),null===t?this.getTokens(Vt.DOT):this.getToken(Vt.DOT,t)})),jt(i,"identifierchain",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(e):this.getTypedRuleContext(e,t)})),i.parser=t,i.ruleIndex=Vt.RULE_identifierchain,i}return Dt(e,t),Ct(e,[{key:"IDENTIFIER",value:function(){return this.getToken(Vt.IDENTIFIER,0)}},{key:"IN",value:function(){return this.getToken(Vt.IN,0)}},{key:"VARIABLE",value:function(){return this.getToken(Vt.VARIABLE,0)}},{key:"PROVIDER",value:function(){return this.getToken(Vt.PROVIDER,0)}},{key:"index",value:function(){return this.getTypedRuleContext(me,0)}},{key:"STAR",value:function(){return this.getToken(Vt.STAR,0)}},{key:"inline_index",value:function(){return this.getTypedRuleContext(se,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterIdentifierchain(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitIdentifierchain(this)}}])}(F.ParserRuleContext),se=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_inline_index,i}return Dt(e,t),Ct(e,[{key:"NATURAL_NUMBER",value:function(){return this.getToken(Vt.NATURAL_NUMBER,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterInline_index(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitInline_index(this)}}])}(F.ParserRuleContext),ue=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"expression",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(e):this.getTypedRuleContext(e,t)})),i.parser=t,i.ruleIndex=Vt.RULE_expression,i}return Dt(e,t),Ct(e,[{key:"section",value:function(){return this.getTypedRuleContext(le,0)}},{key:"LPAREN",value:function(){return this.getToken(Vt.LPAREN,0)}},{key:"RPAREN",value:function(){return this.getToken(Vt.RPAREN,0)}},{key:"forloop",value:function(){return this.getTypedRuleContext(ce,0)}},{key:"operator_",value:function(){return this.getTypedRuleContext(we,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterExpression(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitExpression(this)}}])}(F.ParserRuleContext),ce=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"expression",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ue):this.getTypedRuleContext(ue,t)})),i.parser=t,i.ruleIndex=Vt.RULE_forloop,i}return Dt(e,t),Ct(e,[{key:"identifier",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"IN",value:function(){return this.getToken(Vt.IN,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterForloop(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitForloop(this)}}])}(F.ParserRuleContext),le=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_section,i}return Dt(e,t),Ct(e,[{key:"list_",value:function(){return this.getTypedRuleContext(ve,0)}},{key:"map_",value:function(){return this.getTypedRuleContext(ge,0)}},{key:"val",value:function(){return this.getTypedRuleContext(he,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterSection(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitSection(this)}}])}(F.ParserRuleContext),he=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_val,i}return Dt(e,t),Ct(e,[{key:"NULL_",value:function(){return this.getToken(Vt.NULL_,0)}},{key:"signed_number",value:function(){return this.getTypedRuleContext(_e,0)}},{key:"string",value:function(){return this.getTypedRuleContext(be,0)}},{key:"identifier",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"BOOL",value:function(){return this.getToken(Vt.BOOL,0)}},{key:"DESCRIPTION",value:function(){return this.getToken(Vt.DESCRIPTION,0)}},{key:"filedecl",value:function(){return this.getTypedRuleContext(ye,0)}},{key:"functioncall",value:function(){return this.getTypedRuleContext(fe,0)}},{key:"EOF_",value:function(){return this.getToken(Vt.EOF_,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterVal(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitVal(this)}}])}(F.ParserRuleContext),fe=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_functioncall,i}return Dt(e,t),Ct(e,[{key:"functionname",value:function(){return this.getTypedRuleContext(pe,0)}},{key:"LPAREN",value:function(){return this.getToken(Vt.LPAREN,0)}},{key:"functionarguments",value:function(){return this.getTypedRuleContext(de,0)}},{key:"RPAREN",value:function(){return this.getToken(Vt.RPAREN,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterFunctioncall(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitFunctioncall(this)}}])}(F.ParserRuleContext),pe=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_functionname,i}return Dt(e,t),Ct(e,[{key:"IDENTIFIER",value:function(){return this.getToken(Vt.IDENTIFIER,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterFunctionname(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitFunctionname(this)}}])}(F.ParserRuleContext),de=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"expression",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ue):this.getTypedRuleContext(ue,t)})),i.parser=t,i.ruleIndex=Vt.RULE_functionarguments,i}return Dt(e,t),Ct(e,[{key:"enterRule",value:function(t){t instanceof vt&&t.enterFunctionarguments(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitFunctionarguments(this)}}])}(F.ParserRuleContext),me=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_index,i}return Dt(e,t),Ct(e,[{key:"expression",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterIndex(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitIndex(this)}}])}(F.ParserRuleContext),ye=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_filedecl,i}return Dt(e,t),Ct(e,[{key:"LPAREN",value:function(){return this.getToken(Vt.LPAREN,0)}},{key:"expression",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"RPAREN",value:function(){return this.getToken(Vt.RPAREN,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterFiledecl(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitFiledecl(this)}}])}(F.ParserRuleContext),ve=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"expression",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ue):this.getTypedRuleContext(ue,t)})),i.parser=t,i.ruleIndex=Vt.RULE_list_,i}return Dt(e,t),Ct(e,[{key:"enterRule",value:function(t){t instanceof vt&&t.enterList_(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitList_(this)}}])}(F.ParserRuleContext),ge=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"argument",(function(t){return void 0===t&&(t=null),null===t?this.getTypedRuleContexts(ie):this.getTypedRuleContext(ie,t)})),i.parser=t,i.ruleIndex=Vt.RULE_map_,i}return Dt(e,t),Ct(e,[{key:"LCURL",value:function(){return this.getToken(Vt.LCURL,0)}},{key:"RCURL",value:function(){return this.getToken(Vt.RCURL,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterMap_(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitMap_(this)}}])}(F.ParserRuleContext),be=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_string,i}return Dt(e,t),Ct(e,[{key:"STRING",value:function(){return this.getToken(Vt.STRING,0)}},{key:"MULTILINESTRING",value:function(){return this.getToken(Vt.MULTILINESTRING,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterString(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitString(this)}}])}(F.ParserRuleContext),_e=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_signed_number,i}return Dt(e,t),Ct(e,[{key:"number",value:function(){return this.getTypedRuleContext(xe,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterSigned_number(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitSigned_number(this)}}])}(F.ParserRuleContext),we=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),(i=Lt(this,e,[n,r])).parser=t,i.ruleIndex=Vt.RULE_operator_,i}return Dt(e,t),Ct(e,[{key:"STAR",value:function(){return this.getToken(Vt.STAR,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterOperator_(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitOperator_(this)}}])}(F.ParserRuleContext),xe=function(t){function e(t,n,r){var i;return Nt(this,e),void 0===n&&(n=null),null==r&&(r=-1),jt(i=Lt(this,e,[n,r]),"NATURAL_NUMBER",(function(t){return void 0===t&&(t=null),null===t?this.getTokens(Vt.NATURAL_NUMBER):this.getToken(Vt.NATURAL_NUMBER,t)})),i.parser=t,i.ruleIndex=Vt.RULE_number,i}return Dt(e,t),Ct(e,[{key:"DOT",value:function(){return this.getToken(Vt.DOT,0)}},{key:"enterRule",value:function(t){t instanceof vt&&t.enterNumber(this)}},{key:"exitRule",value:function(t){t instanceof vt&&t.exitNumber(this)}}])}(F.ParserRuleContext);function ke(t){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ke(t)}function Ee(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[]).filter((function(e){return t.isParsable(e)})).reduce((function(t,e){var n=e.path.split("/").slice(0,-1).join("/");return t.includes(n)||t.push(n),t}),[])}},{key:"parse",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.pluginData.components=[],this.pluginData.variables=[];var i=new vt(this.pluginData),o=null!=t&&t.path&&0!==t.path.length?"".concat(t.path,"/"):"",a=new RegExp("^".concat(o,"[^/]+\\.tf$"));n.filter((function(t){var e=t.path;return a.test(e)})).filter((function(t){var n=t.content,i=t.path;return!(!n||""===n.trim())||(e.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"warning",files:[i],data:{code:"no_content",global:!1}}),!1)})).forEach((function(t){var n=e.pluginData.emitEvent({parent:r,type:"Parser",action:"read",status:"running",files:[t.path],data:{global:!1}});i.currentFile=t;var o=new F.InputStream(t.content),a=new At(o),s=new F.CommonTokenStream(a),u=new Vt(s);u.buildParseTrees=!0;var c=u.file_();F.tree.ParseTreeWalker.DEFAULT.walk(i,c),e.pluginData.emitEvent({id:n,status:"success"})}))}}],r&&Ee(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(t.DefaultParser);var Ce=n(985),Le=n.n(Ce);const Re={root:"".concat("{% macro displayAttributeValue(attribute, value, level) %}\n{% if attribute.isVariable %}{{ value | dump | indent(level * 4, true) }},\n{% elif attribute.definition.type == 'Link' %}{{ attribute.definition.linkRef | indent(level * 4, true) }}.{{ getExternalId(value) }}.{{attribute.definition.linkAttribute}},\n{% elif isValueReference(value) %}{{ value | indent(level * 4, true) }},\n{% else %}{{ value | dump | indent(level * 4, true) }},\n{% endif %}\n{% endmacro %}\n",'{% include "local" ignore missing %}\n{% include "block" ignore missing %}\n{% include "variable" ignore missing %}\n{% include "output" ignore missing %}\n'),block:"{% for _block in components %}\n{{ _block.definition.blockType }} {% if ['resource','data'].includes(_block.definition.blockType) %}\"{{ _block.definition.type }}\" {% endif %}{% if ['provider', 'module'].includes(_block.definition.blockType) %}\"{{ _block.definition.type }}\"{% else %}\"{{ _block.externalId }}\"{% endif %} {\n{% for attribute in _block.attributes %}{% set level = 1 %}\n{% include \"attribute\" ignore missing %}\n{% endfor %}\n}\n\n{% endfor %}",attribute:"{% if attribute.type == 'Object' %}\n{{ attribute.name | indent(level * 4, true) }} {% if not attribute.isDynamic %}= {% endif %}{\n{% set level = level+1 %}{% for attr in attribute.value %}{% set attribute = attr %}\n{% include \"attribute\" ignore missing %}\n{% set attribute = attr %}\n{% endfor %}{% set level = level-1 %}\n{{ \"}\" | indent(level * 4, true) }}\n{% else %}\n{{ attribute.name | indent(level * 4, true) }} = {% if attribute.type == 'Array' or attribute.type == 'Link' %}[\n{% set level = level+1 %}{% for value in attribute.value %}\n{% call displayAttributeValue(attribute, value, level) -%}{%- endcall %}\n{% endfor %}{% set level = level-1 %}\n{{ \"]\" | indent(level * 4, true) }}\n{% else %}\n{% if attribute.isVariable %}{{ attribute.value }}\n{% elif attribute.definition.type == 'Reference' %}{{ attribute.definition.containerRef }}.{{ getExternalId(attribute.value) }}\n{% elif attribute.type == 'Boolean' or attribute.type == 'Number' or attribute.name == 'user_data' %}{{ attribute.value }}\n{% elif attribute.type == 'String' and isValueReference(attribute.value) %}{{ attribute.value }}\n{% else %}{{ attribute.value | dump }}\n{% endif %}\n{% endif %}\n{% endif %}\n",variable:'{% for variable in variables %}\nvariable {{ variable.name | dump }} {\n{% set level = 1 %}\n{% if variable.defaultValue %}{{ "default" | indent(level * 4, true) }} = {% if isList(variable.type) %}[\n{% set level = level+1 %}{% for val in variable.defaultValue %}\n{{ val | dump | indent(level * 4, true) }},\n{% endfor %}\n{% set level = level-1 %}{{ "]" | indent(level * 4, true) }}\n{% else %}{{ variable.defaultValue | dump }}\n{% endif %}\n{% endif %}\n{% if variable.type %}{{ "type" | indent(level * 4, true) }} = {{ variable.type }}\n{% endif %}\n{% if variable.description %}{{ "description" | indent(level * 4, true) }} = {{ variable.description | dump }}\n{% endif %}\n{% if variable.sensitive %}{{ "sensitive" | indent(level * 4, true) }} = {{ variable.sensitive }}\n{% endif %}\n{% if variable.nullable %}{{ "nullable" | indent(level * 4, true) }} = {{ variable.nullable }}\n{% endif %}\n}\n\n{% endfor %}\n',output:'{% for output in outputs %}\noutput {{ output.name | dump }} {\n{% set level = 1 %}\n{% if isList(output.type) %}\n{{ "value = [" | indent(level * 4, true) }}\n{% for val in output.value %}\n{% set level = level+1 %}\n{% set argType = getListType(output.type) %}\n{% if argType == \'number\' or argType == \'bool\' or isValueReference(val) %}\n{{ val | dump | indent(level * 4, true) }},\n{% else %}\n{{ val | dump | indent(level * 4, true) }},\n{% endif %}\n{% set level = level-1 %}\n{% endfor %}{{ "]" | indent(level * 4, true) }}\n{% else %}\n{{ "value = " | indent(level * 4, true) }}{% if output.type == \'number\' or output.type == \'bool\' or isValueReference(output.value) %}\n{{ output.value }}\n{% else %}\n{{ output.value | dump }}\n{% endif %}\n{% endif %}\n{% if output.description %}{{ "description" | indent(level * 4, true) }} = {{ output.description | dump }}\n{% endif %}\n{% if output.sensitive %}{{ "sensitive" | indent(level * 4, true) }} = {{ output.sensitive }}\n{% endif %}\n}\n\n{% endfor %}\n',local:'{% if locals.length > 0 %}\nlocals {\n{% set level = 1 %}\n{% for local in locals %}\n{% if local.value %}{{ local.name | indent(level * 4, true) }} = {% if isList(local.type) %}[\n{% set level = level+1 %}{% for val in local.value %}\n{{ val | dump | indent(level * 4, true) }},\n{% endfor %}\n{% set level = level-1 %}{{ "]" | indent(level * 4, true) }}\n{% else %}{{ local.value | dump }}\n{% endif %}\n{% endif %}\n{% endfor %}{% set level = level-1 %}\n{% set level = 0 %}}\n\n{% endif %}\n'};function Ie(t){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ie(t)}function De(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:null,e=this.pluginData.components.reduce((function(t,e){return t.has(e.path)?t.get(e.path).push(e):t.set(e.path,[e]),t}),new Map),n=this.pluginData.variables.reduce((function(t,e){return t.has(e.path)?t.get(e.path).push(e):t.set(e.path,[e]),t}),new Map);return this.generateFiles(e,n,t)}},{key:"generateFiles",value:function(e,n,r){var i=this,o=[];return(0===e.size?n:e).forEach((function(a,s){var u=i.pluginData.emitEvent({parent:r,type:"Render",action:"write",status:"running",files:[s],data:{global:!1}}),c=(null==n?void 0:n.get(s))||[],l=(null==e?void 0:e.get(s))||[];o.push(new t.FileInput({path:s,content:"".concat(i.template.render({components:l,variables:c.filter((function(t){return"variable"===t.category})),locals:c.filter((function(t){return"local"===t.category})),outputs:c.filter((function(t){return"output"===t.category})),getExternalId:function(t){var e;return null===(e=i.pluginData.getComponentById(t))||void 0===e?void 0:e.externalId},isValueReference:function(t){return null==t?void 0:t.match(/^(data.|var.|local.|module.|aws_|random_)/)},isList:function(t){return(null==t?void 0:t.startsWith("list("))||(null==t?void 0:t.startsWith("set("))},getListType:function(t){return t.split(/\(([^)]+)\)/)[1]}}).trim(),"\n")})),i.pluginData.emitEvent({id:u,status:"success"})})),o}}],i&&De(r.prototype,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,i}(t.DefaultRender),Ve={name:"terraform",languageSettings:{id:"terraform",extensions:[".tf"],aliases:["Terraform","terraform"],mimetypes:["string"]},languageConfiguration:{comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["(",")"],["{","}"],["[","]"]],colorizedBracketPairs:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"'",close:"'",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}]},tokenProvider:{keywords:["provider","resource","data","variable","output","locals","module","for_each","if","else","true","false","null"],operators:["+","+=","-","-=","*","*=","/","/=","%","%=","==","!=","<","<=",">",">=","=","||","&&","!"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]]}}};function qe(t){return qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qe(t)}function Ke(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function He(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:{event:null};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=new Xe,r=new un(n,{name:cn.u2,version:cn.i8},t.event);return hn(this,e,[{pluginData:r,pluginMetadata:new R(r),pluginParser:new Pe(r),pluginRenderer:new Ue(r),configuration:n}])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&dn(t,e)}(e,t),n=e,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(t.DefaultPlugin)})();var i=exports;for(var o in r)i[o]=r[o];r.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})(); \ No newline at end of file diff --git a/dist/terrator-plugin.js.LICENSE.txt b/dist/terrator-plugin.js.LICENSE.txt index 98729fae..11aa4ebc 100644 --- a/dist/terrator-plugin.js.LICENSE.txt +++ b/dist/terrator-plugin.js.LICENSE.txt @@ -2,4 +2,6 @@ /*! For license information please see leto-modelizer-plugin-core.js.LICENSE.txt */ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ + /** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ diff --git a/package-lock.json b/package-lock.json index 2a95f65b..d2cba642 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "Mozilla Public License 2.0", "dependencies": { "antlr4": "=4.13.1", - "leto-modelizer-plugin-core": "github:ditrit/leto-modelizer-plugin-core#improvement/refacto", + "leto-modelizer-plugin-core": "file:../leto-modelizer-plugin-core", "nunjucks": "=3.2.4" }, "devDependencies": { @@ -34,13 +34,40 @@ "webpack-cli": "=5.1.4" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "../leto-modelizer-plugin-core": { + "version": "0.23.0", + "license": "Mozilla Public License Version 2.0", + "dependencies": { + "d3": "=7.8.5", + "d3-hierarchy": "=3.1.2", + "nunjucks": "=3.2.4", + "web-worker": "=1.2.0" + }, + "devDependencies": { + "@babel/core": "=7.23.7", + "@babel/eslint-parser": "^7.23.3", + "@babel/preset-env": "=7.23.7", + "@badeball/cypress-cucumber-preprocessor": "=20.0.0", + "@cypress/browserify-preprocessor": "=3.0.2", + "babel-jest": "=29.7.0", + "babel-loader": "=9.1.3", + "better-docs": "=2.7.3", + "cypress": "=13.6.2", + "cypress-real-events": "=1.11.0", + "eslint": "=8.56.0", + "eslint-config-airbnb-base": "=15.0.0", + "eslint-formatter-json-relative": "=0.1.0", + "eslint-plugin-cypress": "=2.15.1", + "eslint-plugin-import": "=2.29.1", + "eslint-plugin-jsdoc": "=47.0.2", + "eslint-plugin-vue": "^9.19.2", + "eslint-watch": "=8.0.0", + "jest": "=29.7.0", + "jest-environment-jsdom": "=29.7.0", + "jest-sonar-reporter": "=2.0.0", + "jsdoc": "=4.0.2", + "webpack": "=5.89.0", + "webpack-cli": "=5.1.4" } }, "node_modules/@ampproject/remapping": { @@ -109,12 +136,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", "dev": true, "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.24.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -164,19 +191,19 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", + "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.24.5", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "semver": "^6.3.1" }, "engines": { @@ -204,9 +231,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", - "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -254,12 +281,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", + "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -278,16 +305,16 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", + "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-simple-access": "^7.24.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -309,9 +336,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -352,12 +379,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", + "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -376,12 +403,12 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -397,9 +424,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -415,40 +442,40 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", + "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/helper-function-name": "^7.23.0", + "@babel/template": "^7.24.0", + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", + "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", "dev": true, "dependencies": { "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.5", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -458,9 +485,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -872,12 +899,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", - "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", + "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -920,18 +947,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", + "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "globals": "^11.1.0" }, "engines": { @@ -958,12 +985,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", + "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1277,15 +1304,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", + "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" + "@babel/plugin-transform-parameters": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1327,12 +1354,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", + "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1344,12 +1371,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", + "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1375,14 +1402,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", - "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", + "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.5", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1500,12 +1527,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", + "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { "node": ">=6.9.0" @@ -1692,9 +1719,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1718,19 +1745,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", + "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/types": "^7.24.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1739,13 +1766,13 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2260,21 +2287,21 @@ } }, "node_modules/@jest/reporters/node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", + "@babel/generator": "^7.24.5", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -2364,13 +2391,10 @@ } }, "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -2378,18 +2402,6 @@ "node": ">=10" } }, - "node_modules/@jest/reporters/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2402,12 +2414,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -2924,9 +2930,9 @@ "dev": true }, "node_modules/@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true }, "node_modules/@types/markdown-it": { @@ -2940,15 +2946,15 @@ } }, "node_modules/@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.11.tgz", + "integrity": "sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -3044,26 +3050,11 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3071,12 +3062,6 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", @@ -3125,26 +3110,11 @@ "node": ">=4.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3152,12 +3122,6 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", @@ -3396,9 +3360,9 @@ "dev": true }, "node_modules/ace-builds": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.33.0.tgz", - "integrity": "sha512-PDvytkZNvAfuh+PaP5Oy3l3sBGd7xMk4NsB+4w/w1e3gjBqEOGeJwcX+wF/SB6mLtT3VfJLrhDNPT3eaCjtR3w==", + "version": "1.33.1", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.33.1.tgz", + "integrity": "sha512-pj5mcXV1n3s86UI4SWUt8X0ltN8cTaYcvF76cSmvy5i2ZDtXX9KkjVcYTGkCV7ox6VUrzqHByeqH0xRsMjXi4g==", "dev": true }, "node_modules/acorn": { @@ -3496,15 +3460,15 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -3928,13 +3892,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", - "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.1", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { @@ -4344,9 +4308,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001617", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", + "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", "dev": true, "funding": [ { @@ -4445,9 +4409,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", "dev": true }, "node_modules/clean-css": { @@ -4540,11 +4504,11 @@ } }, "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "engines": { - "node": ">= 10" + "node": ">= 6" } }, "node_modules/comment-parser": { @@ -4742,376 +4706,6 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -5278,14 +4872,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", - "dependencies": { - "robust-predicates": "^3.0.2" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5363,9 +4949,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.745", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", - "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "version": "1.4.763", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz", + "integrity": "sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==", "dev": true }, "node_modules/emittery": { @@ -5387,9 +4973,9 @@ "dev": true }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz", + "integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -5409,9 +4995,9 @@ } }, "node_modules/envinfo": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz", - "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, "bin": { "envinfo": "dist/cli.js" @@ -5511,9 +5097,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.2.tgz", + "integrity": "sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==", "dev": true }, "node_modules/es-object-atoms": { @@ -5845,26 +5431,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -5872,12 +5443,6 @@ "node": ">=10" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -6616,12 +6181,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6828,6 +6394,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -6939,14 +6506,6 @@ "node": ">= 0.4" } }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -8664,26 +8223,11 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8703,12 +8247,6 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-sonar-reporter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jest-sonar-reporter/-/jest-sonar-reporter-2.0.0.tgz", @@ -9265,15 +8803,8 @@ } }, "node_modules/leto-modelizer-plugin-core": { - "version": "0.23.0", - "resolved": "git+ssh://git@github.com/ditrit/leto-modelizer-plugin-core.git#ef8cb1aae70d555bc8f3bc6e9bff13fc5e8dfcd3", - "license": "Mozilla Public License Version 2.0", - "dependencies": { - "d3": "=7.8.5", - "d3-hierarchy": "=3.1.2", - "nunjucks": "=3.2.4", - "web-worker": "=1.2.0" - } + "resolved": "../leto-modelizer-plugin-core", + "link": true }, "node_modules/leven": { "version": "3.1.0", @@ -9408,26 +8939,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-dir/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -9435,12 +8951,6 @@ "node": ">=10" } }, - "node_modules/make-dir/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -9687,18 +9197,10 @@ } } }, - "node_modules/nunjucks/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, "node_modules/nwsapi": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", - "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==", "dev": true }, "node_modules/object-assign": { @@ -9834,17 +9336,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -10499,9 +10001,9 @@ } }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, "node_modules/recast": { @@ -10755,11 +10257,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -10783,11 +10280,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, "node_modules/safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", @@ -10846,7 +10338,8 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/saxes": { "version": "6.0.0", @@ -10891,15 +10384,15 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -11284,9 +10777,9 @@ } }, "node_modules/terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", + "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -11461,9 +10954,9 @@ "dev": true }, "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "dependencies": { "psl": "^1.1.33", @@ -11822,9 +11315,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", + "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", "dev": true, "funding": [ { @@ -11841,7 +11334,7 @@ } ], "dependencies": { - "escalade": "^3.1.1", + "escalade": "^3.1.2", "picocolors": "^1.0.0" }, "bin": { @@ -12002,11 +11495,6 @@ "node": ">=10.13.0" } }, - "node_modules/web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" - }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -12322,6 +11810,15 @@ "node": ">=0.4.0" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", @@ -12401,9 +11898,9 @@ } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "dev": true, "engines": { "node": ">=10.0.0" @@ -12513,12 +12010,6 @@ } }, "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, "@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -12569,12 +12060,12 @@ } }, "@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", "dev": true, "requires": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.24.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -12612,19 +12103,19 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz", + "integrity": "sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.24.5", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "semver": "^6.3.1" } }, @@ -12640,9 +12131,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", - "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -12678,12 +12169,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz", + "integrity": "sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==", "dev": true, "requires": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.24.5" } }, "@babel/helper-module-imports": { @@ -12696,16 +12187,16 @@ } }, "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", + "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-simple-access": "^7.24.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.5" } }, "@babel/helper-optimise-call-expression": { @@ -12718,9 +12209,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -12746,12 +12237,12 @@ } }, "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", + "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -12764,12 +12255,12 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.5" } }, "@babel/helper-string-parser": { @@ -12779,9 +12270,9 @@ "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "dev": true }, "@babel/helper-validator-option": { @@ -12791,43 +12282,43 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.5.tgz", + "integrity": "sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/helper-function-name": "^7.23.0", + "@babel/template": "^7.24.0", + "@babel/types": "^7.24.5" } }, "@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", + "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", "dev": true, "requires": { "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" } }, "@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.5", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -13099,12 +12590,12 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", - "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz", + "integrity": "sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" } }, "@babel/plugin-transform-class-properties": { @@ -13129,18 +12620,18 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz", + "integrity": "sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-split-export-declaration": "^7.24.5", "globals": "^11.1.0" } }, @@ -13155,12 +12646,12 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz", + "integrity": "sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" } }, "@babel/plugin-transform-dotall-regex": { @@ -13354,15 +12845,15 @@ } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz", + "integrity": "sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" + "@babel/plugin-transform-parameters": "^7.24.5" } }, "@babel/plugin-transform-object-super": { @@ -13386,23 +12877,23 @@ } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz", + "integrity": "sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz", + "integrity": "sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" } }, "@babel/plugin-transform-private-methods": { @@ -13416,14 +12907,14 @@ } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", - "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz", + "integrity": "sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.5", + "@babel/helper-plugin-utils": "^7.24.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, @@ -13493,12 +12984,12 @@ } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz", + "integrity": "sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.5" } }, "@babel/plugin-transform-unicode-escapes": { @@ -13646,9 +13137,9 @@ "dev": true }, "@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" @@ -13666,31 +13157,31 @@ } }, "@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", + "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", "dev": true, "requires": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/types": "^7.24.5", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", "to-fast-properties": "^2.0.0" } }, @@ -14071,21 +13562,21 @@ }, "dependencies": { "@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", + "@babel/generator": "^7.24.5", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -14147,25 +13638,13 @@ }, "dependencies": { "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true } } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14174,12 +13653,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -14619,9 +14092,9 @@ "dev": true }, "@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true }, "@types/markdown-it": { @@ -14635,15 +14108,15 @@ } }, "@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true }, "@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.11.tgz", + "integrity": "sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -14713,28 +14186,10 @@ "tsutils": "^3.21.0" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true } } @@ -14771,28 +14226,10 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true } } @@ -15004,9 +14441,9 @@ "dev": true }, "ace-builds": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.33.0.tgz", - "integrity": "sha512-PDvytkZNvAfuh+PaP5Oy3l3sBGd7xMk4NsB+4w/w1e3gjBqEOGeJwcX+wF/SB6mLtT3VfJLrhDNPT3eaCjtR3w==", + "version": "1.33.1", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.33.1.tgz", + "integrity": "sha512-pj5mcXV1n3s86UI4SWUt8X0ltN8cTaYcvF76cSmvy5i2ZDtXX9KkjVcYTGkCV7ox6VUrzqHByeqH0xRsMjXi4g==", "dev": true }, "acorn": { @@ -15076,15 +14513,15 @@ }, "dependencies": { "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" } }, "json-schema-traverse": { @@ -15393,13 +14830,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", - "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.1", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" } }, @@ -15714,9 +15151,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001617", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", + "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", "dev": true }, "catharsis": { @@ -15777,9 +15214,9 @@ "dev": true }, "cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", "dev": true }, "clean-css": { @@ -15856,9 +15293,9 @@ } }, "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" }, "comment-parser": { "version": "1.4.1", @@ -16017,269 +15454,6 @@ } } }, - "d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "requires": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - } - }, - "d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "requires": { - "internmap": "1 - 2" - } - }, - "d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==" - }, - "d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - } - }, - "d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "requires": { - "d3-path": "1 - 3" - } - }, - "d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" - }, - "d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "requires": { - "d3-array": "^3.2.0" - } - }, - "d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "requires": { - "delaunator": "5" - } - }, - "d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" - }, - "d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - } - }, - "d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "requires": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - } - }, - "d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" - }, - "d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "requires": { - "d3-dsv": "1 - 3" - } - }, - "d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" - }, - "d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "requires": { - "d3-array": "2.5.0 - 3" - } - }, - "d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==" - }, - "d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "requires": { - "d3-color": "1 - 3" - } - }, - "d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==" - }, - "d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==" - }, - "d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" - }, - "d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==" - }, - "d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "requires": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - } - }, - "d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "requires": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - } - }, - "d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" - }, - "d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "requires": { - "d3-path": "^3.1.0" - } - }, - "d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "requires": { - "d3-array": "2 - 3" - } - }, - "d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "requires": { - "d3-time": "1 - 3" - } - }, - "d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" - }, - "d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "requires": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - } - }, "data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -16392,14 +15566,6 @@ "object-keys": "^1.1.1" } }, - "delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", - "requires": { - "robust-predicates": "^3.0.2" - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -16458,9 +15624,9 @@ } }, "electron-to-chromium": { - "version": "1.4.745", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", - "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "version": "1.4.763", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz", + "integrity": "sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==", "dev": true }, "emittery": { @@ -16476,9 +15642,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz", + "integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -16492,9 +15658,9 @@ "dev": true }, "envinfo": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz", - "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true }, "error-ex": { @@ -16576,9 +15742,9 @@ "dev": true }, "es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.2.tgz", + "integrity": "sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==", "dev": true }, "es-object-atoms": { @@ -16943,28 +16109,10 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true } } @@ -17376,12 +16524,13 @@ "dev": true }, "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "requires": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" } }, "globby": { @@ -17528,6 +16677,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -17610,11 +16760,6 @@ "side-channel": "^1.0.4" } }, - "internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" - }, "interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -18861,23 +18006,11 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true }, "supports-color": { "version": "7.2.0", @@ -18887,12 +18020,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -19322,13 +18449,36 @@ "dev": true }, "leto-modelizer-plugin-core": { - "version": "git+ssh://git@github.com/ditrit/leto-modelizer-plugin-core.git#ef8cb1aae70d555bc8f3bc6e9bff13fc5e8dfcd3", - "from": "leto-modelizer-plugin-core@github:ditrit/leto-modelizer-plugin-core#improvement/refacto", + "version": "file:../leto-modelizer-plugin-core", "requires": { + "@babel/core": "=7.23.7", + "@babel/eslint-parser": "^7.23.3", + "@babel/preset-env": "=7.23.7", + "@badeball/cypress-cucumber-preprocessor": "=20.0.0", + "@cypress/browserify-preprocessor": "=3.0.2", + "babel-jest": "=29.7.0", + "babel-loader": "=9.1.3", + "better-docs": "=2.7.3", + "cypress": "=13.6.2", + "cypress-real-events": "=1.11.0", "d3": "=7.8.5", "d3-hierarchy": "=3.1.2", + "eslint": "=8.56.0", + "eslint-config-airbnb-base": "=15.0.0", + "eslint-formatter-json-relative": "=0.1.0", + "eslint-plugin-cypress": "=2.15.1", + "eslint-plugin-import": "=2.29.1", + "eslint-plugin-jsdoc": "=47.0.2", + "eslint-plugin-vue": "^9.19.2", + "eslint-watch": "=8.0.0", + "jest": "=29.7.0", + "jest-environment-jsdom": "=29.7.0", + "jest-sonar-reporter": "=2.0.0", + "jsdoc": "=4.0.2", "nunjucks": "=3.2.4", - "web-worker": "=1.2.0" + "web-worker": "=1.2.0", + "webpack": "=5.89.0", + "webpack-cli": "=5.1.4" } }, "leven": { @@ -19440,28 +18590,10 @@ "semver": "^7.5.3" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true } } @@ -19647,19 +18779,12 @@ "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", "commander": "^5.1.0" - }, - "dependencies": { - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - } } }, "nwsapi": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", - "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==", "dev": true }, "object-assign": { @@ -19756,17 +18881,17 @@ } }, "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" } }, "p-limit": { @@ -20266,9 +19391,9 @@ "requires": {} }, "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, "recast": { @@ -20462,11 +19587,6 @@ "glob": "^7.1.3" } }, - "robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -20476,11 +19596,6 @@ "queue-microtask": "^1.2.2" } }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, "safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", @@ -20513,7 +19628,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "saxes": { "version": "6.0.0", @@ -20548,15 +19664,15 @@ }, "dependencies": { "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" } }, "ajv-keywords": { @@ -20851,9 +19967,9 @@ "dev": true }, "terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "version": "5.31.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", + "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -20977,9 +20093,9 @@ "dev": true }, "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "requires": { "psl": "^1.1.33", @@ -21254,12 +20370,12 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", + "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", "dev": true, "requires": { - "escalade": "^3.1.1", + "escalade": "^3.1.2", "picocolors": "^1.0.0" } }, @@ -21394,11 +20510,6 @@ "graceful-fs": "^4.1.2" } }, - "web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" - }, "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -21619,6 +20730,12 @@ } } }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", @@ -21679,9 +20796,9 @@ } }, "ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index fb64eccd..077816e4 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,12 @@ "version": "0.8.0", "description": "Terraform plugin for Leto-Modelizer.", "main": "dist/terrator-plugin.js", - "exports": "./dist/terrator-plugin.js", + "exports": { + ".": { + "development": "./src", + "default": "./dist/terrator-plugin.js" + } + }, "scripts": { "build": "webpack", "build:resources": "node scripts/generateResources.js", @@ -33,7 +38,7 @@ "homepage": "https://github.com/ditrit/terrator-plugin#readme", "dependencies": { "antlr4": "=4.13.1", - "leto-modelizer-plugin-core": "github:ditrit/leto-modelizer-plugin-core#improvement/refacto", + "leto-modelizer-plugin-core": "file:../leto-modelizer-plugin-core", "nunjucks": "=3.2.4" }, "devDependencies": { diff --git a/public/icons/error.svg b/public/icons/error.svg index 48cfaad9..f536a02f 100644 --- a/public/icons/error.svg +++ b/public/icons/error.svg @@ -1 +1 @@ - + diff --git a/public/icons/menu.svg b/public/icons/menu.svg index 1390ab4d..0ae764d7 100644 --- a/public/icons/menu.svg +++ b/public/icons/menu.svg @@ -1 +1 @@ - + diff --git a/public/icons/resize.svg b/public/icons/resize.svg index e21aac72..a0f304c9 100644 --- a/public/icons/resize.svg +++ b/public/icons/resize.svg @@ -1 +1 @@ - + diff --git a/public/markers/startLinkMarker.svg b/public/markers/startLinkMarker.svg index 255c2b9e..d4fd2c74 100644 --- a/public/markers/startLinkMarker.svg +++ b/public/markers/startLinkMarker.svg @@ -9,8 +9,8 @@ > diff --git a/public/models/DefaultContainer.svg b/public/models/DefaultContainer.svg index 6257bfa8..bcec61c1 100644 --- a/public/models/DefaultContainer.svg +++ b/public/models/DefaultContainer.svg @@ -6,7 +6,9 @@ y="{{ drawOption.y }}" overflow="visible" {% if isSelected %} - style="outline: 2px solid deepskyblue; outline-offset: 2px;" + style="outline: 2px solid deepskyblue; outline-offset: 2px; filter: drop-shadow(0 4px 4px #aaa);" + {% else %} + style="filter: drop-shadow(0 4px 4px #aaa);" {% endif %} > - {% if hasError %} - - {{ getIcon('error') | safe }} - - {% endif %} - - - - - - {{ getIcon('menu') | safe }} - - - - - - - - + + + + {% endif %} - - + {% if hasError %} + - - - {{ getIcon('menu') | safe }} + + + {{ getIcon('error') | safe }} - + {% endif %} + {{ getIcon('resize') | safe }} + + + + + {{ getIcon('menu') | safe }} + + + - {% if hasError %} - - {{ getIcon('error') | safe }} - - {% endif %} - - - - - - - - {% if not canHaveLink %} @@ -115,33 +86,54 @@ - - - - + + + + {% endif %} - - + {% if hasError %} + + + + + {{ getIcon('error') | safe }} + + + + {% endif %} + - - + + {{ getIcon('menu') | safe }} diff --git a/src/antlr/terraformParser.js b/src/antlr/terraformParser.js index 66f8021a..f563ac33 100644 --- a/src/antlr/terraformParser.js +++ b/src/antlr/terraformParser.js @@ -1,7 +1,7 @@ // Generated from src/antlr/terraform.g4 by ANTLR 4.13.0 // jshint ignore: start import antlr4 from 'antlr4'; -import terraformListener from 'src/parser/TerraformListener.js'; +import terraformListener from '../parser/TerraformListener.js'; const serializedATN = [4,1,49,310,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7, 4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12, 2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2, @@ -110,29 +110,29 @@ const sharedContextCache = new antlr4.atn.PredictionContextCache(); export default class terraformParser extends antlr4.Parser { static grammarFileName = "terraform.g4"; - static literalNames = [ null, "'terraform'", "'resource'", "'data'", - "'output'", "'locals'", "'module'", "'='", "'local'", - "'var'", "'?'", "':'", "'for'", "'jsonencode'", - "','", "'['", "']'", "'file'", "'+'", "'-'", - "'/'", "'%'", "'>'", "'>='", "'<'", "'<='", - "'=='", "'!='", "'&&'", "'||'", "'variable'", - "'provider'", "'in'", "'*'", "'.'", "'{'", "'}'", + static literalNames = [ null, "'terraform'", "'resource'", "'data'", + "'output'", "'locals'", "'module'", "'='", "'local'", + "'var'", "'?'", "':'", "'for'", "'jsonencode'", + "','", "'['", "']'", "'file'", "'+'", "'-'", + "'/'", "'%'", "'>'", "'>='", "'<'", "'<='", + "'=='", "'!='", "'&&'", "'||'", "'variable'", + "'provider'", "'in'", "'*'", "'.'", "'{'", "'}'", "'('", "')'", null, "'nul'" ]; - static symbolicNames = [ null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "VARIABLE", - "PROVIDER", "IN", "STAR", "DOT", "LCURL", "RCURL", - "LPAREN", "RPAREN", "EOF_", "NULL_", "NATURAL_NUMBER", - "BOOL", "DESCRIPTION", "MULTILINESTRING", "STRING", + static symbolicNames = [ null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "VARIABLE", + "PROVIDER", "IN", "STAR", "DOT", "LCURL", "RCURL", + "LPAREN", "RPAREN", "EOF_", "NULL_", "NATURAL_NUMBER", + "BOOL", "DESCRIPTION", "MULTILINESTRING", "STRING", "IDENTIFIER", "COMMENT", "BLOCKCOMMENT", "WS" ]; - static ruleNames = [ "file_", "terraform", "resource", "data", "provider", - "output", "local", "module", "variable", "block", - "blocktype", "resourcetype", "name", "label", "blockbody", - "argument", "identifier", "identifierchain", "inline_index", - "expression", "forloop", "section", "val", "functioncall", - "functionname", "functionarguments", "index", "filedecl", - "list_", "map_", "string", "signed_number", "operator_", + static ruleNames = [ "file_", "terraform", "resource", "data", "provider", + "output", "local", "module", "variable", "block", + "blocktype", "resourcetype", "name", "label", "blockbody", + "argument", "identifier", "identifierchain", "inline_index", + "expression", "forloop", "section", "val", "functioncall", + "functionname", "functionarguments", "index", "filedecl", + "list_", "map_", "string", "signed_number", "operator_", "number" ]; constructor(input) { @@ -172,7 +172,7 @@ export default class terraformParser extends antlr4.Parser { var _la = 0; try { this.enterOuterAlt(localctx, 1); - this.state = 76; + this.state = 76; this._errHandler.sync(this); _la = this._input.LA(1); do { @@ -214,7 +214,7 @@ export default class terraformParser extends antlr4.Parser { default: throw new antlr4.error.NoViableAltException(this); } - this.state = 78; + this.state = 78; this._errHandler.sync(this); _la = this._input.LA(1); } while((((_la) & ~0x1f) === 0 && ((1 << _la) & 3221225598) !== 0)); @@ -735,7 +735,7 @@ export default class terraformParser extends antlr4.Parser { this.state = 155; this.match(terraformParser.DOT); this.state = 156; - this.identifierchain(); + this.identifierchain(); } this.state = 161; this._errHandler.sync(this); @@ -755,7 +755,7 @@ export default class terraformParser extends antlr4.Parser { this.state = 163; this.match(terraformParser.DOT); this.state = 164; - this.identifierchain(); + this.identifierchain(); } this.state = 169; this._errHandler.sync(this); @@ -775,7 +775,7 @@ export default class terraformParser extends antlr4.Parser { this.state = 171; this.match(terraformParser.DOT); this.state = 172; - this.identifierchain(); + this.identifierchain(); } this.state = 177; this._errHandler.sync(this); @@ -923,7 +923,7 @@ export default class terraformParser extends antlr4.Parser { this.expression(3); break; - } + } } this.state = 205; this._errHandler.sync(this); @@ -1148,7 +1148,7 @@ export default class terraformParser extends antlr4.Parser { while(_alt!=1 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { if(_alt===1+1) { this.state = 236; - this.matchWildcard(); + this.matchWildcard(); } this.state = 241; this._errHandler.sync(this); @@ -1349,7 +1349,7 @@ export default class terraformParser extends antlr4.Parser { this.state = 269; this.match(terraformParser.T__13); this.state = 270; - this.expression(0); + this.expression(0); } this.state = 275; this._errHandler.sync(this); @@ -3211,37 +3211,37 @@ class NumberContext extends antlr4.ParserRuleContext { -terraformParser.File_Context = File_Context; -terraformParser.TerraformContext = TerraformContext; -terraformParser.ResourceContext = ResourceContext; -terraformParser.DataContext = DataContext; -terraformParser.ProviderContext = ProviderContext; -terraformParser.OutputContext = OutputContext; -terraformParser.LocalContext = LocalContext; -terraformParser.ModuleContext = ModuleContext; -terraformParser.VariableContext = VariableContext; -terraformParser.BlockContext = BlockContext; -terraformParser.BlocktypeContext = BlocktypeContext; -terraformParser.ResourcetypeContext = ResourcetypeContext; -terraformParser.NameContext = NameContext; -terraformParser.LabelContext = LabelContext; -terraformParser.BlockbodyContext = BlockbodyContext; -terraformParser.ArgumentContext = ArgumentContext; -terraformParser.IdentifierContext = IdentifierContext; -terraformParser.IdentifierchainContext = IdentifierchainContext; -terraformParser.Inline_indexContext = Inline_indexContext; -terraformParser.ExpressionContext = ExpressionContext; -terraformParser.ForloopContext = ForloopContext; -terraformParser.SectionContext = SectionContext; -terraformParser.ValContext = ValContext; -terraformParser.FunctioncallContext = FunctioncallContext; -terraformParser.FunctionnameContext = FunctionnameContext; -terraformParser.FunctionargumentsContext = FunctionargumentsContext; -terraformParser.IndexContext = IndexContext; -terraformParser.FiledeclContext = FiledeclContext; -terraformParser.List_Context = List_Context; -terraformParser.Map_Context = Map_Context; -terraformParser.StringContext = StringContext; -terraformParser.Signed_numberContext = Signed_numberContext; -terraformParser.Operator_Context = Operator_Context; -terraformParser.NumberContext = NumberContext; +terraformParser.File_Context = File_Context; +terraformParser.TerraformContext = TerraformContext; +terraformParser.ResourceContext = ResourceContext; +terraformParser.DataContext = DataContext; +terraformParser.ProviderContext = ProviderContext; +terraformParser.OutputContext = OutputContext; +terraformParser.LocalContext = LocalContext; +terraformParser.ModuleContext = ModuleContext; +terraformParser.VariableContext = VariableContext; +terraformParser.BlockContext = BlockContext; +terraformParser.BlocktypeContext = BlocktypeContext; +terraformParser.ResourcetypeContext = ResourcetypeContext; +terraformParser.NameContext = NameContext; +terraformParser.LabelContext = LabelContext; +terraformParser.BlockbodyContext = BlockbodyContext; +terraformParser.ArgumentContext = ArgumentContext; +terraformParser.IdentifierContext = IdentifierContext; +terraformParser.IdentifierchainContext = IdentifierchainContext; +terraformParser.Inline_indexContext = Inline_indexContext; +terraformParser.ExpressionContext = ExpressionContext; +terraformParser.ForloopContext = ForloopContext; +terraformParser.SectionContext = SectionContext; +terraformParser.ValContext = ValContext; +terraformParser.FunctioncallContext = FunctioncallContext; +terraformParser.FunctionnameContext = FunctionnameContext; +terraformParser.FunctionargumentsContext = FunctionargumentsContext; +terraformParser.IndexContext = IndexContext; +terraformParser.FiledeclContext = FiledeclContext; +terraformParser.List_Context = List_Context; +terraformParser.Map_Context = Map_Context; +terraformParser.StringContext = StringContext; +terraformParser.Signed_numberContext = Signed_numberContext; +terraformParser.Operator_Context = Operator_Context; +terraformParser.NumberContext = NumberContext; diff --git a/src/assets/metadata/index.js b/src/assets/metadata/index.js index 8096e438..56b161ce 100644 --- a/src/assets/metadata/index.js +++ b/src/assets/metadata/index.js @@ -1,4 +1,4 @@ -import aws from 'src/assets/metadata/aws.json'; +import aws from './aws.json'; export default { aws, diff --git a/src/index.js b/src/index.js index bdc58fda..85307139 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,3 @@ -import TerraformPlugin from 'src/models/TerraformPlugin'; +import TerraformPlugin from './models/TerraformPlugin'; export default TerraformPlugin; diff --git a/src/metadata/TerraformMetadata.js b/src/metadata/TerraformMetadata.js index 4a527ff3..42798a98 100644 --- a/src/metadata/TerraformMetadata.js +++ b/src/metadata/TerraformMetadata.js @@ -1,9 +1,9 @@ import Ajv from 'ajv'; import { DefaultMetadata } from 'leto-modelizer-plugin-core'; -import TerraformComponentDefinition from 'src/models/TerraformComponentDefinition'; -import TerraformComponentAttributeDefinition from 'src/models/TerraformComponentAttributeDefinition'; -import Schema from 'src/metadata/ValidationSchema'; -import providers from 'src/assets/metadata'; +import TerraformComponentDefinition from '../models/TerraformComponentDefinition'; +import TerraformComponentAttributeDefinition from '../models/TerraformComponentAttributeDefinition'; +import Schema from './ValidationSchema'; +import providers from '../assets/metadata'; /** * Class to validate and retrieve components definitions from Terraform metadata. diff --git a/src/models/TerraformComponent.js b/src/models/TerraformComponent.js index 0eefcf32..6066a7de 100644 --- a/src/models/TerraformComponent.js +++ b/src/models/TerraformComponent.js @@ -1,5 +1,5 @@ import { Component } from 'leto-modelizer-plugin-core'; -import TerraformComponentAttribute from 'src/models/TerraformComponentAttribute'; +import TerraformComponentAttribute from './TerraformComponentAttribute'; /** * Specific Terraform component. diff --git a/src/models/TerraformComponentDefinition.js b/src/models/TerraformComponentDefinition.js index ee5e8b9c..130a8280 100644 --- a/src/models/TerraformComponentDefinition.js +++ b/src/models/TerraformComponentDefinition.js @@ -18,11 +18,14 @@ class TerraformComponentDefinition extends ComponentDefinition { }) { super({ ...props, - width: 96, - height: 80, - minWidth: 96, - minHeight: 80, - containerMargin: 6, + defaultWidth: props.isContainer ? 186 : 96, + defaultHeight: props.isContainer ? 160 : 80, + minWidth: props.isContainer ? 186 : 96, + minHeight: props.isContainer ? 140 : 80, + reservedWidth: props.isContainer ? 12 : 0, + reservedHeight: props.isContainer ? 80 : 0, + margin: 15, + gap: 50, }); /** * Type of Terraform block. diff --git a/src/models/TerraformConfiguration.js b/src/models/TerraformConfiguration.js index 420ca8cc..0f48ace6 100644 --- a/src/models/TerraformConfiguration.js +++ b/src/models/TerraformConfiguration.js @@ -1,5 +1,5 @@ import { DefaultConfiguration, Tag } from 'leto-modelizer-plugin-core'; -import syntax from 'src/configuration/syntax'; +import syntax from '../configuration/syntax'; /** * Terrator configuration. @@ -7,19 +7,44 @@ import syntax from 'src/configuration/syntax'; class TerraformConfiguration extends DefaultConfiguration { /** * Default constructor. - * @param {object} [props] - Object that contains all properties to set. */ - constructor(props) { + constructor() { super({ - ...props, editor: { - ...props.editor, syntax, }, tags: [ new Tag({ type: 'language', value: 'Terraform' }), new Tag({ type: 'category', value: 'Infrastructure' }), ], + extraResources: [{ + type: 'markers', + name: 'startLinkMarker', + }, { + type: 'markers', + name: 'endLinkMarker', + }, { + type: 'links', + name: 'defaultLink', + }, { + type: 'links', + name: 'temporaryLink', + }, { + type: 'icons', + name: 'error', + }, { + type: 'icons', + name: 'menu', + }, { + type: 'icons', + name: 'resize', + }], + container: { + margin: 15, + gap: 50, + }, + defaultFileName: 'new_file.tf', + defaultFileExtension: 'tf', }); } } diff --git a/src/models/TerraformData.js b/src/models/TerraformData.js index 29afc4db..d4fbdb53 100644 --- a/src/models/TerraformData.js +++ b/src/models/TerraformData.js @@ -1,7 +1,7 @@ import { DefaultData, } from 'leto-modelizer-plugin-core'; -import TerraformComponent from 'src/models/TerraformComponent'; +import TerraformComponent from './TerraformComponent'; /** * Specific Terraform data. diff --git a/src/models/TerraformPlugin.js b/src/models/TerraformPlugin.js index b6d86e07..c606b3d2 100644 --- a/src/models/TerraformPlugin.js +++ b/src/models/TerraformPlugin.js @@ -1,12 +1,12 @@ import { DefaultPlugin, } from 'leto-modelizer-plugin-core'; -import TerraformMetadata from 'src/metadata/TerraformMetadata'; -import TerraformParser from 'src/parser/TerraformParser'; -import TerraformRenderer from 'src/render/TerraformRenderer'; -import TerraformConfiguration from 'src/models/TerraformConfiguration'; -import TerraformData from 'src/models/TerraformData'; -import packageInfo from 'package.json'; +import TerraformMetadata from '../metadata/TerraformMetadata'; +import TerraformParser from '../parser/TerraformParser'; +import TerraformRenderer from '../render/TerraformRenderer'; +import TerraformConfiguration from './TerraformConfiguration'; +import TerraformData from './TerraformData'; +import packageInfo from '../../package.json'; /** * Terraform plugin. @@ -21,10 +21,7 @@ class TerraformPlugin extends DefaultPlugin { constructor(props = { event: null, }) { - const configuration = new TerraformConfiguration({ - defaultFileName: 'new_file.tf', - defaultFileExtension: 'tf', - }); + const configuration = new TerraformConfiguration(); const pluginData = new TerraformData(configuration, { name: packageInfo.name, version: packageInfo.version, diff --git a/src/parser/TerraformListener.js b/src/parser/TerraformListener.js index 944374fc..63b55b82 100644 --- a/src/parser/TerraformListener.js +++ b/src/parser/TerraformListener.js @@ -1,9 +1,9 @@ /* eslint class-methods-use-this: 0 */ import antlr4 from 'antlr4'; -import TerraformVariable from 'src/models/TerraformVariable'; -import TerraformComponentAttribute from 'src/models/TerraformComponentAttribute'; -import TerraformComponentDefinition from 'src/models/TerraformComponentDefinition'; -import TerraformComponent from 'src/models/TerraformComponent'; +import TerraformVariable from '../models/TerraformVariable'; +import TerraformComponentAttribute from '../models/TerraformComponentAttribute'; +import TerraformComponentDefinition from '../models/TerraformComponentDefinition'; +import TerraformComponent from '../models/TerraformComponent'; const getText = (ctx) => ctx.getText().replaceAll('"', '').trim(); diff --git a/src/parser/TerraformParser.js b/src/parser/TerraformParser.js index 42c36529..7d70f5e2 100644 --- a/src/parser/TerraformParser.js +++ b/src/parser/TerraformParser.js @@ -2,9 +2,9 @@ import antlr4 from 'antlr4'; import { DefaultParser, } from 'leto-modelizer-plugin-core'; -import TerraformListener from 'src/parser/TerraformListener'; -import Lexer from 'src/antlr/terraformLexer'; -import Parser from 'src/antlr/terraformParser'; +import TerraformListener from './TerraformListener'; +import Lexer from '../antlr/terraformLexer'; +import Parser from '../antlr/terraformParser'; /** * Class to parse and retrieve components/links from Terraform files. diff --git a/src/render/TerraformRenderer.js b/src/render/TerraformRenderer.js index 334ec1f2..58aacd14 100644 --- a/src/render/TerraformRenderer.js +++ b/src/render/TerraformRenderer.js @@ -1,5 +1,5 @@ import nunjucks from 'nunjucks'; -import templates from 'src/render/TerraformTemplate'; +import templates from './TerraformTemplate'; import { DefaultRender, FileInput,