@simpleangularcontrols/sac-common 13.0.0-rc.12 → 13.0.0-rc.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/controls/input/input.d.ts +4 -4
  2. package/controls/input/input.d.ts.map +1 -1
  3. package/controls/input/inputarea.d.ts +6 -6
  4. package/controls/input/inputarea.d.ts.map +1 -1
  5. package/controls/input/inputpassword.d.ts +8 -8
  6. package/controls/input/inputpassword.d.ts.map +1 -1
  7. package/controls/multilanguage/multilanguageinput.d.ts +3 -3
  8. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  9. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  10. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  11. package/esm2020/controls/input/input.mjs +6 -6
  12. package/esm2020/controls/input/inputarea.mjs +17 -12
  13. package/esm2020/controls/input/inputpassword.mjs +10 -10
  14. package/esm2020/controls/multilanguage/multilanguageinput.mjs +5 -5
  15. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +6 -6
  16. package/esm2020/interfaces/ISacValidationKeyService.mjs +3 -3
  17. package/esm2020/services/sac-localisation.service.mjs +21 -20
  18. package/esm2020/services/sac-validationkey.service.mjs +5 -5
  19. package/esm2020/validation/mintextlength.validator.mjs +5 -0
  20. package/esm2020/validation/mintextlength.validator.ngfactory.mjs +3 -0
  21. package/esm2020/validation/mintextlength.validator.ngsummary.mjs +3 -0
  22. package/esm2020/validation/validation.mjs +68 -63
  23. package/fesm2015/simpleangularcontrols-sac-common.mjs +1099 -1086
  24. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +1 -1
  25. package/fesm2020/simpleangularcontrols-sac-common.mjs +1102 -1089
  26. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +1 -1
  27. package/interfaces/ISacValidationKeyService.d.ts +2 -2
  28. package/interfaces/ISacValidationKeyService.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/services/sac-localisation.service.d.ts +10 -10
  31. package/services/sac-localisation.service.d.ts.map +1 -1
  32. package/services/sac-validationkey.service.d.ts +2 -2
  33. package/services/sac-validationkey.service.d.ts.map +1 -1
  34. package/simpleangularcontrols-sac-common-13.0.0-rc.13.tgz +0 -0
  35. package/validation/mintextlength.validator.d.ts +3 -0
  36. package/validation/mintextlength.validator.d.ts.map +1 -0
  37. package/validation/mintextlength.validator.ngfactory.d.ts +2 -0
  38. package/validation/mintextlength.validator.ngfactory.d.ts.map +1 -0
  39. package/validation/mintextlength.validator.ngsummary.d.ts +2 -0
  40. package/validation/mintextlength.validator.ngsummary.d.ts.map +1 -0
  41. package/validation/validation.d.ts +56 -56
  42. package/validation/validation.d.ts.map +1 -1
  43. package/esm2020/validation/minlength.validator.mjs +0 -3
  44. package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -3
  45. package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -3
  46. package/simpleangularcontrols-sac-common-13.0.0-rc.12.tgz +0 -0
  47. package/validation/minlength.validator.d.ts +0 -3
  48. package/validation/minlength.validator.d.ts.map +0 -1
  49. package/validation/minlength.validator.ngfactory.d.ts +0 -2
  50. package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
  51. package/validation/minlength.validator.ngsummary.d.ts +0 -2
  52. package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
@@ -1,27 +1,32 @@
1
- function cov_2dv74gwmr(){var path="C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\services\\sac-localisation.service.mjs";var hash="d66925e3b739d18cecc549d3f5eb3c22b08881db";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\services\\sac-localisation.service.mjs",statementMap:{"0":{start:{line:12,column:0},end:{line:12,column:206}},"1":{start:{line:13,column:0},end:{line:13,column:181}},"2":{start:{line:14,column:0},end:{line:17,column:14}},"3":{start:{line:28,column:8},end:{line:28,column:16}},"4":{start:{line:29,column:8},end:{line:29,column:57}},"5":{start:{line:34,column:8},end:{line:34,column:30}},"6":{start:{line:36,column:8},end:{line:36,column:39}},"7":{start:{line:38,column:8},end:{line:40,column:105}},"8":{start:{line:41,column:8},end:{line:43,column:120}},"9":{start:{line:44,column:8},end:{line:46,column:105}},"10":{start:{line:47,column:8},end:{line:49,column:120}},"11":{start:{line:50,column:8},end:{line:52,column:103}},"12":{start:{line:53,column:8},end:{line:55,column:118}},"13":{start:{line:56,column:8},end:{line:58,column:105}},"14":{start:{line:59,column:8},end:{line:61,column:120}},"15":{start:{line:62,column:8},end:{line:64,column:99}},"16":{start:{line:65,column:8},end:{line:67,column:114}},"17":{start:{line:68,column:8},end:{line:70,column:107}},"18":{start:{line:71,column:8},end:{line:73,column:122}},"19":{start:{line:74,column:8},end:{line:76,column:103}},"20":{start:{line:77,column:8},end:{line:79,column:118}},"21":{start:{line:80,column:8},end:{line:82,column:103}},"22":{start:{line:83,column:8},end:{line:85,column:118}},"23":{start:{line:86,column:8},end:{line:88,column:103}},"24":{start:{line:89,column:8},end:{line:91,column:118}},"25":{start:{line:92,column:8},end:{line:94,column:103}},"26":{start:{line:95,column:8},end:{line:97,column:118}},"27":{start:{line:98,column:8},end:{line:100,column:117}},"28":{start:{line:101,column:8},end:{line:103,column:132}},"29":{start:{line:104,column:8},end:{line:106,column:105}},"30":{start:{line:107,column:8},end:{line:109,column:120}},"31":{start:{line:110,column:8},end:{line:112,column:137}},"32":{start:{line:113,column:8},end:{line:115,column:152}},"33":{start:{line:116,column:8},end:{line:118,column:131}},"34":{start:{line:119,column:8},end:{line:121,column:146}},"35":{start:{line:123,column:8},end:{line:125,column:86}},"36":{start:{line:126,column:8},end:{line:128,column:92}},"37":{start:{line:130,column:8},end:{line:132,column:101}},"38":{start:{line:133,column:8},end:{line:135,column:95}},"39":{start:{line:136,column:8},end:{line:138,column:95}},"40":{start:{line:140,column:8},end:{line:142,column:97}},"41":{start:{line:143,column:8},end:{line:145,column:105}},"42":{start:{line:146,column:8},end:{line:148,column:115}},"43":{start:{line:150,column:8},end:{line:152,column:98}},"44":{start:{line:153,column:8},end:{line:155,column:96}},"45":{start:{line:157,column:8},end:{line:159,column:99}},"46":{start:{line:160,column:8},end:{line:162,column:101}},"47":{start:{line:163,column:8},end:{line:165,column:97}},"48":{start:{line:166,column:8},end:{line:168,column:98}},"49":{start:{line:169,column:8},end:{line:171,column:104}},"50":{start:{line:172,column:8},end:{line:174,column:100}},"51":{start:{line:175,column:8},end:{line:177,column:98}},"52":{start:{line:178,column:8},end:{line:180,column:128}},"53":{start:{line:181,column:8},end:{line:183,column:124}},"54":{start:{line:185,column:8},end:{line:185,column:39}},"55":{start:{line:190,column:8},end:{line:190,column:41}},"56":{start:{line:193,column:8},end:{line:193,column:39}},"57":{start:{line:196,column:8},end:{line:196,column:68}},"58":{start:{line:199,column:8},end:{line:201,column:11}},"59":{start:{line:204,column:8},end:{line:204,column:44}},"60":{start:{line:207,column:8},end:{line:207,column:46}},"61":{start:{line:210,column:8},end:{line:210,column:43}},"62":{start:{line:213,column:8},end:{line:213,column:49}},"63":{start:{line:216,column:8},end:{line:216,column:60}},"64":{start:{line:219,column:8},end:{line:219,column:50}},"65":{start:{line:222,column:8},end:{line:224,column:11}},"66":{start:{line:227,column:8},end:{line:227,column:55}},"67":{start:{line:230,column:8},end:{line:232,column:11}},"68":{start:{line:235,column:8},end:{line:235,column:46}},"69":{start:{line:238,column:8},end:{line:238,column:52}},"70":{start:{line:241,column:8},end:{line:241,column:39}},"71":{start:{line:244,column:8},end:{line:244,column:46}},"72":{start:{line:247,column:8},end:{line:247,column:43}},"73":{start:{line:250,column:8},end:{line:250,column:59}},"74":{start:{line:253,column:8},end:{line:253,column:66}},"75":{start:{line:256,column:8},end:{line:256,column:66}},"76":{start:{line:259,column:8},end:{line:261,column:11}},"77":{start:{line:264,column:8},end:{line:266,column:11}},"78":{start:{line:269,column:8},end:{line:271,column:11}},"79":{start:{line:274,column:8},end:{line:276,column:11}},"80":{start:{line:279,column:8},end:{line:281,column:11}},"81":{start:{line:284,column:8},end:{line:286,column:11}},"82":{start:{line:289,column:8},end:{line:291,column:11}},"83":{start:{line:294,column:8},end:{line:296,column:11}},"84":{start:{line:299,column:8},end:{line:301,column:11}},"85":{start:{line:304,column:8},end:{line:306,column:11}},"86":{start:{line:309,column:8},end:{line:311,column:11}},"87":{start:{line:314,column:8},end:{line:314,column:59}},"88":{start:{line:317,column:8},end:{line:319,column:11}},"89":{start:{line:322,column:8},end:{line:324,column:11}},"90":{start:{line:327,column:8},end:{line:332,column:11}},"91":{start:{line:335,column:8},end:{line:337,column:11}},"92":{start:{line:340,column:8},end:{line:342,column:11}},"93":{start:{line:345,column:8},end:{line:347,column:11}},"94":{start:{line:350,column:8},end:{line:352,column:11}},"95":{start:{line:355,column:8},end:{line:357,column:11}},"96":{start:{line:360,column:8},end:{line:362,column:11}},"97":{start:{line:365,column:8},end:{line:367,column:11}},"98":{start:{line:370,column:8},end:{line:372,column:11}},"99":{start:{line:375,column:8},end:{line:377,column:11}},"100":{start:{line:380,column:8},end:{line:382,column:11}},"101":{start:{line:385,column:8},end:{line:387,column:11}},"102":{start:{line:395,column:8},end:{line:425,column:11}},"103":{start:{line:396,column:27},end:{line:396,column:45}},"104":{start:{line:397,column:12},end:{line:405,column:13}},"105":{start:{line:398,column:16},end:{line:398,column:54}},"106":{start:{line:400,column:16},end:{line:404,column:17}},"107":{start:{line:401,column:20},end:{line:401,column:39}},"108":{start:{line:402,column:20},end:{line:402,column:40}},"109":{start:{line:403,column:20},end:{line:403,column:27}},"110":{start:{line:406,column:12},end:{line:424,column:13}},"111":{start:{line:407,column:33},end:{line:407,column:65}},"112":{start:{line:408,column:16},end:{line:418,column:17}},"113":{start:{line:409,column:38},end:{line:409,column:57}},"114":{start:{line:410,column:20},end:{line:410,column:81}},"115":{start:{line:411,column:20},end:{line:411,column:40}},"116":{start:{line:412,column:20},end:{line:412,column:27}},"117":{start:{line:415,column:20},end:{line:415,column:44}},"118":{start:{line:416,column:20},end:{line:416,column:40}},"119":{start:{line:417,column:20},end:{line:417,column:27}},"120":{start:{line:421,column:16},end:{line:421,column:35}},"121":{start:{line:422,column:16},end:{line:422,column:36}},"122":{start:{line:423,column:16},end:{line:423,column:23}},"123":{start:{line:433,column:8},end:{line:433,column:20}},"124":{start:{line:439,column:25},end:{line:439,column:43}},"125":{start:{line:440,column:8},end:{line:445,column:9}},"126":{start:{line:441,column:12},end:{line:441,column:42}},"127":{start:{line:444,column:12},end:{line:444,column:28}},"128":{start:{line:448,column:0},end:{line:448,column:239}},"129":{start:{line:449,column:0},end:{line:449,column:179}},"130":{start:{line:450,column:0},end:{line:456,column:28}},"131":{start:{line:453,column:42},end:{line:456,column:22}},"132":{start:{line:462,column:39},end:{line:462,column:83}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:27,column:4},end:{line:27,column:5}},loc:{start:{line:27,column:38},end:{line:186,column:5}},line:27},"1":{name:"(anonymous_1)",decl:{start:{line:189,column:4},end:{line:189,column:5}},loc:{start:{line:189,column:28},end:{line:191,column:5}},line:189},"2":{name:"(anonymous_2)",decl:{start:{line:192,column:4},end:{line:192,column:5}},loc:{start:{line:192,column:29},end:{line:194,column:5}},line:192},"3":{name:"(anonymous_3)",decl:{start:{line:195,column:4},end:{line:195,column:5}},loc:{start:{line:195,column:41},end:{line:197,column:5}},line:195},"4":{name:"(anonymous_4)",decl:{start:{line:198,column:4},end:{line:198,column:5}},loc:{start:{line:198,column:43},end:{line:202,column:5}},line:198},"5":{name:"(anonymous_5)",decl:{start:{line:203,column:4},end:{line:203,column:5}},loc:{start:{line:203,column:29},end:{line:205,column:5}},line:203},"6":{name:"(anonymous_6)",decl:{start:{line:206,column:4},end:{line:206,column:5}},loc:{start:{line:206,column:32},end:{line:208,column:5}},line:206},"7":{name:"(anonymous_7)",decl:{start:{line:209,column:4},end:{line:209,column:5}},loc:{start:{line:209,column:32},end:{line:211,column:5}},line:209},"8":{name:"(anonymous_8)",decl:{start:{line:212,column:4},end:{line:212,column:5}},loc:{start:{line:212,column:32},end:{line:214,column:5}},line:212},"9":{name:"(anonymous_9)",decl:{start:{line:215,column:4},end:{line:215,column:5}},loc:{start:{line:215,column:31},end:{line:217,column:5}},line:215},"10":{name:"(anonymous_10)",decl:{start:{line:218,column:4},end:{line:218,column:5}},loc:{start:{line:218,column:30},end:{line:220,column:5}},line:218},"11":{name:"(anonymous_11)",decl:{start:{line:221,column:4},end:{line:221,column:5}},loc:{start:{line:221,column:29},end:{line:225,column:5}},line:221},"12":{name:"(anonymous_12)",decl:{start:{line:226,column:4},end:{line:226,column:5}},loc:{start:{line:226,column:33},end:{line:228,column:5}},line:226},"13":{name:"(anonymous_13)",decl:{start:{line:229,column:4},end:{line:229,column:5}},loc:{start:{line:229,column:28},end:{line:233,column:5}},line:229},"14":{name:"(anonymous_14)",decl:{start:{line:234,column:4},end:{line:234,column:5}},loc:{start:{line:234,column:36},end:{line:236,column:5}},line:234},"15":{name:"(anonymous_15)",decl:{start:{line:237,column:4},end:{line:237,column:5}},loc:{start:{line:237,column:41},end:{line:239,column:5}},line:237},"16":{name:"(anonymous_16)",decl:{start:{line:240,column:4},end:{line:240,column:5}},loc:{start:{line:240,column:32},end:{line:242,column:5}},line:240},"17":{name:"(anonymous_17)",decl:{start:{line:243,column:4},end:{line:243,column:5}},loc:{start:{line:243,column:31},end:{line:245,column:5}},line:243},"18":{name:"(anonymous_18)",decl:{start:{line:246,column:4},end:{line:246,column:5}},loc:{start:{line:246,column:31},end:{line:248,column:5}},line:246},"19":{name:"(anonymous_19)",decl:{start:{line:249,column:4},end:{line:249,column:5}},loc:{start:{line:249,column:34},end:{line:251,column:5}},line:249},"20":{name:"(anonymous_20)",decl:{start:{line:252,column:4},end:{line:252,column:5}},loc:{start:{line:252,column:42},end:{line:254,column:5}},line:252},"21":{name:"(anonymous_21)",decl:{start:{line:255,column:4},end:{line:255,column:5}},loc:{start:{line:255,column:33},end:{line:257,column:5}},line:255},"22":{name:"(anonymous_22)",decl:{start:{line:258,column:4},end:{line:258,column:5}},loc:{start:{line:258,column:36},end:{line:262,column:5}},line:258},"23":{name:"(anonymous_23)",decl:{start:{line:263,column:4},end:{line:263,column:5}},loc:{start:{line:263,column:35},end:{line:267,column:5}},line:263},"24":{name:"(anonymous_24)",decl:{start:{line:268,column:4},end:{line:268,column:5}},loc:{start:{line:268,column:35},end:{line:272,column:5}},line:268},"25":{name:"(anonymous_25)",decl:{start:{line:273,column:4},end:{line:273,column:5}},loc:{start:{line:273,column:36},end:{line:277,column:5}},line:273},"26":{name:"(anonymous_26)",decl:{start:{line:278,column:4},end:{line:278,column:5}},loc:{start:{line:278,column:35},end:{line:282,column:5}},line:278},"27":{name:"(anonymous_27)",decl:{start:{line:283,column:4},end:{line:283,column:5}},loc:{start:{line:283,column:37},end:{line:287,column:5}},line:283},"28":{name:"(anonymous_28)",decl:{start:{line:288,column:4},end:{line:288,column:5}},loc:{start:{line:288,column:35},end:{line:292,column:5}},line:288},"29":{name:"(anonymous_29)",decl:{start:{line:293,column:4},end:{line:293,column:5}},loc:{start:{line:293,column:36},end:{line:297,column:5}},line:293},"30":{name:"(anonymous_30)",decl:{start:{line:298,column:4},end:{line:298,column:5}},loc:{start:{line:298,column:49},end:{line:302,column:5}},line:298},"31":{name:"(anonymous_31)",decl:{start:{line:303,column:4},end:{line:303,column:5}},loc:{start:{line:303,column:52},end:{line:307,column:5}},line:303},"32":{name:"(anonymous_32)",decl:{start:{line:308,column:4},end:{line:308,column:5}},loc:{start:{line:308,column:35},end:{line:312,column:5}},line:308},"33":{name:"(anonymous_33)",decl:{start:{line:313,column:4},end:{line:313,column:5}},loc:{start:{line:313,column:36},end:{line:315,column:5}},line:313},"34":{name:"(anonymous_34)",decl:{start:{line:316,column:4},end:{line:316,column:5}},loc:{start:{line:316,column:50},end:{line:320,column:5}},line:316},"35":{name:"(anonymous_35)",decl:{start:{line:321,column:4},end:{line:321,column:5}},loc:{start:{line:321,column:41},end:{line:325,column:5}},line:321},"36":{name:"(anonymous_36)",decl:{start:{line:326,column:4},end:{line:326,column:5}},loc:{start:{line:326,column:44},end:{line:333,column:5}},line:326},"37":{name:"(anonymous_37)",decl:{start:{line:334,column:4},end:{line:334,column:5}},loc:{start:{line:334,column:43},end:{line:338,column:5}},line:334},"38":{name:"(anonymous_38)",decl:{start:{line:339,column:4},end:{line:339,column:5}},loc:{start:{line:339,column:43},end:{line:343,column:5}},line:339},"39":{name:"(anonymous_39)",decl:{start:{line:344,column:4},end:{line:344,column:5}},loc:{start:{line:344,column:44},end:{line:348,column:5}},line:344},"40":{name:"(anonymous_40)",decl:{start:{line:349,column:4},end:{line:349,column:5}},loc:{start:{line:349,column:43},end:{line:353,column:5}},line:349},"41":{name:"(anonymous_41)",decl:{start:{line:354,column:4},end:{line:354,column:5}},loc:{start:{line:354,column:45},end:{line:358,column:5}},line:354},"42":{name:"(anonymous_42)",decl:{start:{line:359,column:4},end:{line:359,column:5}},loc:{start:{line:359,column:43},end:{line:363,column:5}},line:359},"43":{name:"(anonymous_43)",decl:{start:{line:364,column:4},end:{line:364,column:5}},loc:{start:{line:364,column:44},end:{line:368,column:5}},line:364},"44":{name:"(anonymous_44)",decl:{start:{line:369,column:4},end:{line:369,column:5}},loc:{start:{line:369,column:57},end:{line:373,column:5}},line:369},"45":{name:"(anonymous_45)",decl:{start:{line:374,column:4},end:{line:374,column:5}},loc:{start:{line:374,column:60},end:{line:378,column:5}},line:374},"46":{name:"(anonymous_46)",decl:{start:{line:379,column:4},end:{line:379,column:5}},loc:{start:{line:379,column:43},end:{line:383,column:5}},line:379},"47":{name:"(anonymous_47)",decl:{start:{line:384,column:4},end:{line:384,column:5}},loc:{start:{line:384,column:44},end:{line:388,column:5}},line:384},"48":{name:"(anonymous_48)",decl:{start:{line:394,column:4},end:{line:394,column:5}},loc:{start:{line:394,column:27},end:{line:426,column:5}},line:394},"49":{name:"(anonymous_49)",decl:{start:{line:395,column:30},end:{line:395,column:31}},loc:{start:{line:395,column:44},end:{line:425,column:9}},line:395},"50":{name:"(anonymous_50)",decl:{start:{line:432,column:4},end:{line:432,column:5}},loc:{start:{line:432,column:26},end:{line:434,column:5}},line:432},"51":{name:"(anonymous_51)",decl:{start:{line:438,column:4},end:{line:438,column:5}},loc:{start:{line:438,column:18},end:{line:446,column:5}},line:438},"52":{name:"(anonymous_52)",decl:{start:{line:453,column:28},end:{line:453,column:29}},loc:{start:{line:453,column:40},end:{line:456,column:24}},line:453}},branchMap:{"0":{loc:{start:{line:397,column:12},end:{line:405,column:13}},type:"if",locations:[{start:{line:397,column:12},end:{line:405,column:13}},{start:{line:397,column:12},end:{line:405,column:13}}],line:397},"1":{loc:{start:{line:400,column:16},end:{line:404,column:17}},type:"if",locations:[{start:{line:400,column:16},end:{line:404,column:17}},{start:{line:400,column:16},end:{line:404,column:17}}],line:400},"2":{loc:{start:{line:406,column:12},end:{line:424,column:13}},type:"if",locations:[{start:{line:406,column:12},end:{line:424,column:13}},{start:{line:406,column:12},end:{line:424,column:13}}],line:406},"3":{loc:{start:{line:408,column:16},end:{line:418,column:17}},type:"if",locations:[{start:{line:408,column:16},end:{line:418,column:17}},{start:{line:408,column:16},end:{line:418,column:17}}],line:408},"4":{loc:{start:{line:408,column:20},end:{line:408,column:59}},type:"binary-expr",locations:[{start:{line:408,column:20},end:{line:408,column:40}},{start:{line:408,column:44},end:{line:408,column:59}}],line:408},"5":{loc:{start:{line:440,column:8},end:{line:445,column:9}},type:"if",locations:[{start:{line:440,column:8},end:{line:445,column:9}},{start:{line:440,column:8},end:{line:445,column:9}}],line:440}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},inputSourceMap:{version:3,file:"sac-localisation.service.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/services/sac-localisation.service.ts"],names:[],mappings:"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",sourcesContent:["import { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ISacLocalisationService } from '../interfaces/ISacLocalisationService';\r\nimport { ISacValidationKeyService } from '../interfaces/ISacValidationKeyService';\r\nimport { Interpolation } from '../utilities/interpolation';\r\nimport { SACVALIDATIONKEY_SERVICE } from './sac-validationkey.service';\r\n\r\n// #region Classes\r\n\r\n/**\r\n * abstract class for localisation in components\r\n * */\r\n@Injectable({ providedIn: 'root' })\r\nexport abstract class SacAbstractLocalisationService\r\n implements ISacLocalisationService\r\n{\r\n // #region Protected Abstract Getters And Setters\r\n\r\n protected abstract get CONFIRM_BUTTON_NO(): Map<string, string>;\r\n protected abstract get CONFIRM_BUTTON_YES(): Map<string, string>;\r\n protected abstract get FILEBROWSER_CONFIRM_DELETEFILE(): Map<string, string>;\r\n protected abstract get FILEBROWSER_CONFIRM_DELETEFOLDER(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get FILEBROWSER_DELETE(): Map<string, string>;\r\n protected abstract get FILEBROWSER_GRID_FILE(): Map<string, string>;\r\n protected abstract get FILEBROWSER_GRID_SIZE(): Map<string, string>;\r\n protected abstract get FILEBROWSER_NEWFOLDER(): Map<string, string>;\r\n protected abstract get FILEBROWSER_NO_FILES(): Map<string, string>;\r\n protected abstract get FILEBROWSER_REFRESH(): Map<string, string>;\r\n protected abstract get FILEBROWSER_UPLOAD(): Map<string, string>;\r\n protected abstract get PAGING_PAGEENTRIESTEXT(): Map<string, string>;\r\n protected abstract get PAGING_PAGEOFTEXT(): Map<string, string>;\r\n protected abstract get TINYMCE_FILESELECT_CANCEL(): Map<string, string>;\r\n protected abstract get TINYMCE_FILESELECT_DIALOGTITLE(): Map<string, string>;\r\n protected abstract get TINYMCE_FILESELECT_OK(): Map<string, string>;\r\n protected abstract get UPLOAD_BUTTON_BROWSE(): Map<string, string>;\r\n protected abstract get UPLOAD_BUTTON_UPLOAD(): Map<string, string>;\r\n protected abstract get UPLOAD_NO_FILE_SELECTED(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_DATETIMEFORMAT(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_EMAIL(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_FILESMIN(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MAXDATE(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MAXTIME(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MAXVALUE(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MINDATE(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MINLENGTH(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MINTIME(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MINVALUE(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_PATTERN(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_REQUIRED(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_EMAIL(): Map<string, string>;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_FILESMIN(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXDATE(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXTIME(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXVALUE(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINDATE(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINLENGTH(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINTIME(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINVALUE(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_PATTERN(): Map<\r\n string,\r\n string\r\n >;\r\n protected abstract get VALIDATION_ERROR_SUMMARY_REQUIRED(): Map<\r\n string,\r\n string\r\n >;\r\n\r\n // #endregion Protected Abstract Getters And Setters\r\n\r\n // #region Public Abstract Methods\r\n\r\n /**\r\n * Die Methode \xFCbersetzt den eingegebenen Wort/Begriff. Verlangt key und optionell params\r\n */\r\n public abstract GetString(key: string, params?: any): Observable<string>;\r\n\r\n // #endregion Public Abstract Methods\r\n}\r\n\r\n/**\r\n * default localisation service\r\n * */\r\n@Injectable({ providedIn: 'root' })\r\nexport class SacDefaultLocalisationService extends SacAbstractLocalisationService {\r\n // #region Properties\r\n\r\n /**\r\n * Language Resources f\xFCr Controls Library\r\n */\r\n public data: Map<string, Map<string, string>> = new Map<\r\n string,\r\n Map<string, string>\r\n >();\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * */\r\n constructor(\r\n @Inject(SACVALIDATIONKEY_SERVICE)\r\n private validationKeyService: ISacValidationKeyService\r\n ) {\r\n super();\r\n\r\n // Set Languages\r\n this.data.set('de', new Map<string, string>());\r\n\r\n // Validation\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorRequired,\r\n this.VALIDATION_ERROR_REQUIRED.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryRequired,\r\n this.VALIDATION_ERROR_SUMMARY_REQUIRED.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMinValue,\r\n this.VALIDATION_ERROR_MINVALUE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMinValue,\r\n this.VALIDATION_ERROR_SUMMARY_MINVALUE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorPattern,\r\n this.VALIDATION_ERROR_PATTERN.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryPattern,\r\n this.VALIDATION_ERROR_SUMMARY_PATTERN.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMaxValue,\r\n this.VALIDATION_ERROR_MAXVALUE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMaxValue,\r\n this.VALIDATION_ERROR_SUMMARY_MAXVALUE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorEmail,\r\n this.VALIDATION_ERROR_EMAIL.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryEmail,\r\n this.VALIDATION_ERROR_SUMMARY_EMAIL.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMinLength,\r\n this.VALIDATION_ERROR_MINLENGTH.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMinLength,\r\n this.VALIDATION_ERROR_SUMMARY_MINLENGTH.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMinDate,\r\n this.VALIDATION_ERROR_MINDATE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMinDate,\r\n this.VALIDATION_ERROR_SUMMARY_MINDATE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMaxDate,\r\n this.VALIDATION_ERROR_MAXDATE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMaxDate,\r\n this.VALIDATION_ERROR_SUMMARY_MAXDATE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMinTime,\r\n this.VALIDATION_ERROR_MINTIME.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMinTime,\r\n this.VALIDATION_ERROR_SUMMARY_MINTIME.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMaxTime,\r\n this.VALIDATION_ERROR_MAXTIME.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMaxTime,\r\n this.VALIDATION_ERROR_SUMMARY_MAXTIME.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorDatetimeFormat,\r\n this.VALIDATION_ERROR_DATETIMEFORMAT.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryDatetimeFormat,\r\n this.VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorFilesMin,\r\n this.VALIDATION_ERROR_FILESMIN.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryFilesMin,\r\n this.VALIDATION_ERROR_SUMMARY_FILESMIN.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMultilanguageRequiredAny,\r\n this.VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny,\r\n this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMultilanguageRequired,\r\n this.VALIDATION_ERROR_MULTILANGUAGEREQUIRED.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMultilanguageRequired,\r\n this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED.get('de')\r\n );\r\n\r\n // Grid Component\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.PagingPageOf, this.PAGING_PAGEOFTEXT.get('de'));\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.PagingEntries,\r\n this.PAGING_PAGEENTRIESTEXT.get('de')\r\n );\r\n\r\n // Upload Component\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.UploadNoFilesSelected,\r\n this.UPLOAD_NO_FILE_SELECTED.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.UploadButtonUpload,\r\n this.UPLOAD_BUTTON_UPLOAD.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.UploadButtonBrowse,\r\n this.UPLOAD_BUTTON_BROWSE.get('de')\r\n );\r\n\r\n // TinyMCE Component\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.TinyMceFileselectOk,\r\n this.TINYMCE_FILESELECT_OK.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.TinyMceFileselectCancel,\r\n this.TINYMCE_FILESELECT_CANCEL.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.TinyMceFileselectDialogtitle,\r\n this.TINYMCE_FILESELECT_DIALOGTITLE.get('de')\r\n );\r\n\r\n // Confirm Dialog Component\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ConfirmDefaultButtonYes,\r\n this.CONFIRM_BUTTON_YES.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ConfirmDefaultButtonNo,\r\n this.CONFIRM_BUTTON_NO.get('de')\r\n );\r\n\r\n // Browser Component\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserGridNoFiles,\r\n this.FILEBROWSER_NO_FILES.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserGridFilename,\r\n this.FILEBROWSER_GRID_FILE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserGridSize,\r\n this.FILEBROWSER_GRID_SIZE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserButtonUpload,\r\n this.FILEBROWSER_UPLOAD.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserButtonNewFolder,\r\n this.FILEBROWSER_NEWFOLDER.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserButtonRefresh,\r\n this.FILEBROWSER_REFRESH.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.FilebrowserButtonDelete,\r\n this.FILEBROWSER_DELETE.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n this.validationKeyService.FilebrowserConfirmTextDeleteFolder,\r\n this.FILEBROWSER_CONFIRM_DELETEFOLDER.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n this.validationKeyService.FilebrowserConfirmTextDeleteFile,\r\n this.FILEBROWSER_CONFIRM_DELETEFILE.get('de')\r\n );\r\n\r\n // EN\r\n this.data.set('en', new Map<string, string>());\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Protected Getters And Setters\r\n\r\n protected get CONFIRM_BUTTON_NO(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Nein']]);\r\n }\r\n\r\n protected get CONFIRM_BUTTON_YES(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Ja']]);\r\n }\r\n\r\n protected get FILEBROWSER_CONFIRM_DELETEFILE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Soll die Datei gel\xF6scht werden?']]);\r\n }\r\n\r\n protected get FILEBROWSER_CONFIRM_DELETEFOLDER(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Soll der Ordner gel\xF6scht werden?'],\r\n ]);\r\n }\r\n\r\n protected get FILEBROWSER_DELETE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'L\xF6schen']]);\r\n }\r\n\r\n protected get FILEBROWSER_GRID_FILE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Dateiname']]);\r\n }\r\n\r\n protected get FILEBROWSER_GRID_SIZE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Gr\xF6sse']]);\r\n }\r\n\r\n protected get FILEBROWSER_NEWFOLDER(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Neuer Ordner']]);\r\n }\r\n\r\n protected get FILEBROWSER_NO_FILES(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Keine Dateien vorhanden']]);\r\n }\r\n\r\n protected get FILEBROWSER_REFRESH(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Aktualisieren']]);\r\n }\r\n\r\n protected get FILEBROWSER_UPLOAD(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Legen Sie Dateien hier ab um Sie hochzuladen'],\r\n ]);\r\n }\r\n\r\n protected get PAGING_PAGEENTRIESTEXT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Eintr\xE4ge pro Seite']]);\r\n }\r\n\r\n protected get PAGING_PAGEOFTEXT(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Seite {{CURRENTPAGE}} von {{TOTALPAGES}}'],\r\n ]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_CANCEL(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Abbrechen']]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_DIALOGTITLE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Datei ausw\xE4hlen']]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_OK(): Map<string, string> {\r\n return new Map<string, string>([['de', 'OK']]);\r\n }\r\n\r\n protected get UPLOAD_BUTTON_BROWSE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Browse...']]);\r\n }\r\n\r\n protected get UPLOAD_BUTTON_UPLOAD(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Upload']]);\r\n }\r\n\r\n protected get UPLOAD_NO_FILE_SELECTED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Keine Datei ausgew\xE4hlt']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_DATETIMEFORMAT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist kein g\xFCltiges Datum.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_EMAIL(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist keine E-Mail Adresse']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_FILESMIN(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Es m\xFCssen min. {{MINFILES}} Dateien hochgeladen sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXDATE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld muss \xE4lter oder gleich {{MAXDATE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXTIME(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld muss \xE4lter oder gleich {{MAXTIME}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXVALUE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" darf nicht gr\xF6sser als {{MAXVALUE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINDATE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld muss neuer oder gleich {{MINDATE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINLENGTH(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld erfordert min. {{MINLENGTH}} Zeichen.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINTIME(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld muss neuer oder gleich {{MINTIME}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINVALUE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Wert darf nicht kleiner als {{MINVALUE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Es m\xFCssen alle Sprachen erfasst sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(): Map<\r\n string,\r\n string\r\n > {\r\n return new Map<string, string>([\r\n ['de', 'Es muss min. 1 Sprache erfasst sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_PATTERN(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Wert entspricht nicht der Format Vorlage.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_REQUIRED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist erforderlich.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" ist kein g\xFCltiges Datum.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_EMAIL(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" ist keine E-Mail Adresse'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_FILESMIN(): Map<string, string> {\r\n return new Map<string, string>([\r\n [\r\n 'de',\r\n 'Feld \"{{FIELD}}\" muss min. {{MINFILES}} Dateien hochgeladen haben.',\r\n ],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXDATE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss \xE4lter oder gleich {{MAXDATE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXTIME(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss \xE4lter oder gleich {{MAXTIME}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXVALUE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Wert darf nicht gr\xF6sser als {{MAXVALUE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINDATE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss neuer oder gleich {{MINDATE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINLENGTH(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" erfordert min. {{MINLENGTH}} Zeichen.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINTIME(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss neuer oder gleich {{MINTIME}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINVALUE(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" darf nicht kleiner als {{MINVALUE}} sein.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(): Map<\r\n string,\r\n string\r\n > {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss alle Sprachen erfasst haben.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(): Map<\r\n string,\r\n string\r\n > {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" muss min. 1 Sprache erfasst haben.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_PATTERN(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" entspricht nicht der Format Vorlage.'],\r\n ]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_REQUIRED(): Map<string, string> {\r\n return new Map<string, string>([\r\n ['de', 'Feld \"{{FIELD}}\" ist erforderlich.'],\r\n ]);\r\n }\r\n\r\n // #endregion Protected Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Die Methode ergibt die selecte Sprache (string) anhand von Key und Params\r\n */\r\n public GetString(key: string, params?: any): Observable<string> {\r\n return new Observable<string>((observer) => {\r\n let language: string = this.GetLanguage();\r\n\r\n if (!this.data.has(language)) {\r\n language = this.GetFallbackLanguage();\r\n\r\n // Return Key if no Language exists\r\n if (!this.data.has(language)) {\r\n observer.next(key);\r\n observer.complete();\r\n return;\r\n }\r\n }\r\n\r\n if (this.data.get(language).has(key)) {\r\n const resource = this.data.get(language).get(key);\r\n if (params !== undefined && params !== null) {\r\n const formatter: Interpolation = new Interpolation();\r\n observer.next(formatter.interpolateString(resource, params));\r\n observer.complete();\r\n return;\r\n } else {\r\n observer.next(resource);\r\n observer.complete();\r\n return;\r\n }\r\n } else {\r\n observer.next(key);\r\n observer.complete();\r\n return;\r\n }\r\n });\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * Die Funktion setzt die default Sprache auf DE, falls die Sprach-Setzung nicht m\xF6glich ist.\r\n */\r\n private GetFallbackLanguage(): string {\r\n return 'de';\r\n }\r\n\r\n /**\r\n * Die Funktion ergibt die ausgew\xE4hlte Sprache.\r\n */\r\n private GetLanguage(): string {\r\n const language: string = navigator.language;\r\n\r\n if (language.indexOf('-') >= 0) {\r\n return language.split('-')[0];\r\n } else {\r\n return language;\r\n }\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n\r\n// #endregion Classes\r\n\r\n// #region Variables\r\n\r\n/**\r\n * injection token for localisation service\r\n */\r\nexport const SACLOCALISATION_SERVICE =\r\n new InjectionToken<SacAbstractLocalisationService>('SacLocalisationService');\r\n\r\n// #endregion Variables\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d66925e3b739d18cecc549d3f5eb3c22b08881db"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
- cov_2dv74gwmr=function(){return actualCoverage;};}return actualCoverage;}cov_2dv74gwmr();import{Inject,Injectable,InjectionToken}from'@angular/core';import{Observable}from'rxjs';import{Interpolation}from'../utilities/interpolation';import{SACVALIDATIONKEY_SERVICE}from'./sac-validationkey.service';import*as i0 from"@angular/core";// #region Classes
1
+ function cov_2dv74gwmr(){var path="C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\services\\sac-localisation.service.mjs";var hash="9792fe220a7d73feeaa02dbae97369d46a936182";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng13\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2020\\services\\sac-localisation.service.mjs",statementMap:{"0":{start:{line:10,column:39},end:{line:10,column:83}},"1":{start:{line:18,column:0},end:{line:18,column:206}},"2":{start:{line:19,column:0},end:{line:19,column:181}},"3":{start:{line:20,column:0},end:{line:23,column:14}},"4":{start:{line:34,column:8},end:{line:34,column:16}},"5":{start:{line:35,column:8},end:{line:35,column:57}},"6":{start:{line:40,column:8},end:{line:40,column:30}},"7":{start:{line:42,column:8},end:{line:42,column:39}},"8":{start:{line:44,column:8},end:{line:44,column:120}},"9":{start:{line:45,column:8},end:{line:47,column:120}},"10":{start:{line:48,column:8},end:{line:48,column:120}},"11":{start:{line:49,column:8},end:{line:51,column:120}},"12":{start:{line:52,column:8},end:{line:52,column:118}},"13":{start:{line:53,column:8},end:{line:55,column:118}},"14":{start:{line:56,column:8},end:{line:56,column:120}},"15":{start:{line:57,column:8},end:{line:59,column:120}},"16":{start:{line:60,column:8},end:{line:60,column:114}},"17":{start:{line:61,column:8},end:{line:63,column:114}},"18":{start:{line:64,column:8},end:{line:66,column:115}},"19":{start:{line:67,column:8},end:{line:69,column:130}},"20":{start:{line:70,column:8},end:{line:70,column:118}},"21":{start:{line:71,column:8},end:{line:73,column:118}},"22":{start:{line:74,column:8},end:{line:74,column:118}},"23":{start:{line:75,column:8},end:{line:77,column:118}},"24":{start:{line:78,column:8},end:{line:78,column:118}},"25":{start:{line:79,column:8},end:{line:81,column:118}},"26":{start:{line:82,column:8},end:{line:82,column:118}},"27":{start:{line:83,column:8},end:{line:85,column:118}},"28":{start:{line:86,column:8},end:{line:88,column:117}},"29":{start:{line:89,column:8},end:{line:91,column:132}},"30":{start:{line:92,column:8},end:{line:92,column:120}},"31":{start:{line:93,column:8},end:{line:95,column:120}},"32":{start:{line:96,column:8},end:{line:98,column:137}},"33":{start:{line:99,column:8},end:{line:101,column:152}},"34":{start:{line:102,column:8},end:{line:104,column:131}},"35":{start:{line:105,column:8},end:{line:107,column:146}},"36":{start:{line:109,column:8},end:{line:109,column:101}},"37":{start:{line:110,column:8},end:{line:110,column:107}},"38":{start:{line:112,column:8},end:{line:112,column:116}},"39":{start:{line:113,column:8},end:{line:113,column:110}},"40":{start:{line:114,column:8},end:{line:114,column:110}},"41":{start:{line:116,column:8},end:{line:116,column:112}},"42":{start:{line:117,column:8},end:{line:117,column:120}},"43":{start:{line:118,column:8},end:{line:120,column:115}},"44":{start:{line:122,column:8},end:{line:122,column:113}},"45":{start:{line:123,column:8},end:{line:123,column:111}},"46":{start:{line:125,column:8},end:{line:125,column:114}},"47":{start:{line:126,column:8},end:{line:126,column:116}},"48":{start:{line:127,column:8},end:{line:127,column:112}},"49":{start:{line:128,column:8},end:{line:128,column:113}},"50":{start:{line:129,column:8},end:{line:129,column:119}},"51":{start:{line:130,column:8},end:{line:130,column:115}},"52":{start:{line:131,column:8},end:{line:131,column:113}},"53":{start:{line:132,column:8},end:{line:134,column:128}},"54":{start:{line:135,column:8},end:{line:137,column:124}},"55":{start:{line:144,column:8},end:{line:144,column:41}},"56":{start:{line:147,column:8},end:{line:147,column:39}},"57":{start:{line:150,column:8},end:{line:150,column:68}},"58":{start:{line:153,column:8},end:{line:153,column:69}},"59":{start:{line:156,column:8},end:{line:156,column:44}},"60":{start:{line:159,column:8},end:{line:159,column:46}},"61":{start:{line:162,column:8},end:{line:162,column:43}},"62":{start:{line:165,column:8},end:{line:165,column:49}},"63":{start:{line:168,column:8},end:{line:168,column:60}},"64":{start:{line:171,column:8},end:{line:171,column:50}},"65":{start:{line:174,column:8},end:{line:174,column:81}},"66":{start:{line:177,column:8},end:{line:177,column:55}},"67":{start:{line:180,column:8},end:{line:180,column:77}},"68":{start:{line:183,column:8},end:{line:183,column:46}},"69":{start:{line:186,column:8},end:{line:186,column:52}},"70":{start:{line:189,column:8},end:{line:189,column:39}},"71":{start:{line:192,column:8},end:{line:192,column:46}},"72":{start:{line:195,column:8},end:{line:195,column:43}},"73":{start:{line:198,column:8},end:{line:198,column:59}},"74":{start:{line:201,column:8},end:{line:201,column:66}},"75":{start:{line:204,column:8},end:{line:204,column:66}},"76":{start:{line:207,column:8},end:{line:207,column:90}},"77":{start:{line:210,column:8},end:{line:210,column:82}},"78":{start:{line:213,column:8},end:{line:213,column:82}},"79":{start:{line:216,column:8},end:{line:216,column:95}},"80":{start:{line:219,column:8},end:{line:219,column:82}},"81":{start:{line:222,column:8},end:{line:222,column:83}},"82":{start:{line:225,column:8},end:{line:225,column:82}},"83":{start:{line:228,column:8},end:{line:228,column:83}},"84":{start:{line:231,column:8},end:{line:231,column:74}},"85":{start:{line:234,column:8},end:{line:234,column:73}},"86":{start:{line:237,column:8},end:{line:237,column:78}},"87":{start:{line:240,column:8},end:{line:240,column:59}},"88":{start:{line:243,column:8},end:{line:243,column:78}},"89":{start:{line:246,column:8},end:{line:246,column:78}},"90":{start:{line:249,column:8},end:{line:249,column:103}},"91":{start:{line:252,column:8},end:{line:252,column:94}},"92":{start:{line:255,column:8},end:{line:255,column:94}},"93":{start:{line:258,column:8},end:{line:258,column:83}},"94":{start:{line:261,column:8},end:{line:261,column:94}},"95":{start:{line:264,column:8},end:{line:264,column:95}},"96":{start:{line:267,column:8},end:{line:267,column:94}},"97":{start:{line:270,column:8},end:{line:270,column:95}},"98":{start:{line:273,column:8},end:{line:273,column:87}},"99":{start:{line:276,column:8},end:{line:276,column:88}},"100":{start:{line:279,column:8},end:{line:279,column:90}},"101":{start:{line:282,column:8},end:{line:282,column:71}},"102":{start:{line:290,column:8},end:{line:320,column:11}},"103":{start:{line:291,column:27},end:{line:291,column:45}},"104":{start:{line:292,column:12},end:{line:300,column:13}},"105":{start:{line:293,column:16},end:{line:293,column:54}},"106":{start:{line:295,column:16},end:{line:299,column:17}},"107":{start:{line:296,column:20},end:{line:296,column:39}},"108":{start:{line:297,column:20},end:{line:297,column:40}},"109":{start:{line:298,column:20},end:{line:298,column:27}},"110":{start:{line:301,column:12},end:{line:319,column:13}},"111":{start:{line:302,column:33},end:{line:302,column:65}},"112":{start:{line:303,column:16},end:{line:313,column:17}},"113":{start:{line:304,column:38},end:{line:304,column:57}},"114":{start:{line:305,column:20},end:{line:305,column:81}},"115":{start:{line:306,column:20},end:{line:306,column:40}},"116":{start:{line:307,column:20},end:{line:307,column:27}},"117":{start:{line:310,column:20},end:{line:310,column:44}},"118":{start:{line:311,column:20},end:{line:311,column:40}},"119":{start:{line:312,column:20},end:{line:312,column:27}},"120":{start:{line:316,column:16},end:{line:316,column:35}},"121":{start:{line:317,column:16},end:{line:317,column:36}},"122":{start:{line:318,column:16},end:{line:318,column:23}},"123":{start:{line:328,column:8},end:{line:328,column:20}},"124":{start:{line:334,column:25},end:{line:334,column:43}},"125":{start:{line:335,column:8},end:{line:340,column:9}},"126":{start:{line:336,column:12},end:{line:336,column:42}},"127":{start:{line:339,column:12},end:{line:339,column:28}},"128":{start:{line:343,column:0},end:{line:343,column:239}},"129":{start:{line:344,column:0},end:{line:344,column:179}},"130":{start:{line:345,column:0},end:{line:351,column:28}},"131":{start:{line:348,column:42},end:{line:351,column:22}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:38},end:{line:140,column:5}},line:33},"1":{name:"(anonymous_1)",decl:{start:{line:143,column:4},end:{line:143,column:5}},loc:{start:{line:143,column:28},end:{line:145,column:5}},line:143},"2":{name:"(anonymous_2)",decl:{start:{line:146,column:4},end:{line:146,column:5}},loc:{start:{line:146,column:29},end:{line:148,column:5}},line:146},"3":{name:"(anonymous_3)",decl:{start:{line:149,column:4},end:{line:149,column:5}},loc:{start:{line:149,column:41},end:{line:151,column:5}},line:149},"4":{name:"(anonymous_4)",decl:{start:{line:152,column:4},end:{line:152,column:5}},loc:{start:{line:152,column:43},end:{line:154,column:5}},line:152},"5":{name:"(anonymous_5)",decl:{start:{line:155,column:4},end:{line:155,column:5}},loc:{start:{line:155,column:29},end:{line:157,column:5}},line:155},"6":{name:"(anonymous_6)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:32},end:{line:160,column:5}},line:158},"7":{name:"(anonymous_7)",decl:{start:{line:161,column:4},end:{line:161,column:5}},loc:{start:{line:161,column:32},end:{line:163,column:5}},line:161},"8":{name:"(anonymous_8)",decl:{start:{line:164,column:4},end:{line:164,column:5}},loc:{start:{line:164,column:32},end:{line:166,column:5}},line:164},"9":{name:"(anonymous_9)",decl:{start:{line:167,column:4},end:{line:167,column:5}},loc:{start:{line:167,column:31},end:{line:169,column:5}},line:167},"10":{name:"(anonymous_10)",decl:{start:{line:170,column:4},end:{line:170,column:5}},loc:{start:{line:170,column:30},end:{line:172,column:5}},line:170},"11":{name:"(anonymous_11)",decl:{start:{line:173,column:4},end:{line:173,column:5}},loc:{start:{line:173,column:29},end:{line:175,column:5}},line:173},"12":{name:"(anonymous_12)",decl:{start:{line:176,column:4},end:{line:176,column:5}},loc:{start:{line:176,column:33},end:{line:178,column:5}},line:176},"13":{name:"(anonymous_13)",decl:{start:{line:179,column:4},end:{line:179,column:5}},loc:{start:{line:179,column:28},end:{line:181,column:5}},line:179},"14":{name:"(anonymous_14)",decl:{start:{line:182,column:4},end:{line:182,column:5}},loc:{start:{line:182,column:36},end:{line:184,column:5}},line:182},"15":{name:"(anonymous_15)",decl:{start:{line:185,column:4},end:{line:185,column:5}},loc:{start:{line:185,column:41},end:{line:187,column:5}},line:185},"16":{name:"(anonymous_16)",decl:{start:{line:188,column:4},end:{line:188,column:5}},loc:{start:{line:188,column:32},end:{line:190,column:5}},line:188},"17":{name:"(anonymous_17)",decl:{start:{line:191,column:4},end:{line:191,column:5}},loc:{start:{line:191,column:31},end:{line:193,column:5}},line:191},"18":{name:"(anonymous_18)",decl:{start:{line:194,column:4},end:{line:194,column:5}},loc:{start:{line:194,column:31},end:{line:196,column:5}},line:194},"19":{name:"(anonymous_19)",decl:{start:{line:197,column:4},end:{line:197,column:5}},loc:{start:{line:197,column:34},end:{line:199,column:5}},line:197},"20":{name:"(anonymous_20)",decl:{start:{line:200,column:4},end:{line:200,column:5}},loc:{start:{line:200,column:42},end:{line:202,column:5}},line:200},"21":{name:"(anonymous_21)",decl:{start:{line:203,column:4},end:{line:203,column:5}},loc:{start:{line:203,column:33},end:{line:205,column:5}},line:203},"22":{name:"(anonymous_22)",decl:{start:{line:206,column:4},end:{line:206,column:5}},loc:{start:{line:206,column:36},end:{line:208,column:5}},line:206},"23":{name:"(anonymous_23)",decl:{start:{line:209,column:4},end:{line:209,column:5}},loc:{start:{line:209,column:35},end:{line:211,column:5}},line:209},"24":{name:"(anonymous_24)",decl:{start:{line:212,column:4},end:{line:212,column:5}},loc:{start:{line:212,column:35},end:{line:214,column:5}},line:212},"25":{name:"(anonymous_25)",decl:{start:{line:215,column:4},end:{line:215,column:5}},loc:{start:{line:215,column:36},end:{line:217,column:5}},line:215},"26":{name:"(anonymous_26)",decl:{start:{line:218,column:4},end:{line:218,column:5}},loc:{start:{line:218,column:35},end:{line:220,column:5}},line:218},"27":{name:"(anonymous_27)",decl:{start:{line:221,column:4},end:{line:221,column:5}},loc:{start:{line:221,column:41},end:{line:223,column:5}},line:221},"28":{name:"(anonymous_28)",decl:{start:{line:224,column:4},end:{line:224,column:5}},loc:{start:{line:224,column:35},end:{line:226,column:5}},line:224},"29":{name:"(anonymous_29)",decl:{start:{line:227,column:4},end:{line:227,column:5}},loc:{start:{line:227,column:36},end:{line:229,column:5}},line:227},"30":{name:"(anonymous_30)",decl:{start:{line:230,column:4},end:{line:230,column:5}},loc:{start:{line:230,column:49},end:{line:232,column:5}},line:230},"31":{name:"(anonymous_31)",decl:{start:{line:233,column:4},end:{line:233,column:5}},loc:{start:{line:233,column:52},end:{line:235,column:5}},line:233},"32":{name:"(anonymous_32)",decl:{start:{line:236,column:4},end:{line:236,column:5}},loc:{start:{line:236,column:35},end:{line:238,column:5}},line:236},"33":{name:"(anonymous_33)",decl:{start:{line:239,column:4},end:{line:239,column:5}},loc:{start:{line:239,column:36},end:{line:241,column:5}},line:239},"34":{name:"(anonymous_34)",decl:{start:{line:242,column:4},end:{line:242,column:5}},loc:{start:{line:242,column:50},end:{line:244,column:5}},line:242},"35":{name:"(anonymous_35)",decl:{start:{line:245,column:4},end:{line:245,column:5}},loc:{start:{line:245,column:41},end:{line:247,column:5}},line:245},"36":{name:"(anonymous_36)",decl:{start:{line:248,column:4},end:{line:248,column:5}},loc:{start:{line:248,column:44},end:{line:250,column:5}},line:248},"37":{name:"(anonymous_37)",decl:{start:{line:251,column:4},end:{line:251,column:5}},loc:{start:{line:251,column:43},end:{line:253,column:5}},line:251},"38":{name:"(anonymous_38)",decl:{start:{line:254,column:4},end:{line:254,column:5}},loc:{start:{line:254,column:43},end:{line:256,column:5}},line:254},"39":{name:"(anonymous_39)",decl:{start:{line:257,column:4},end:{line:257,column:5}},loc:{start:{line:257,column:44},end:{line:259,column:5}},line:257},"40":{name:"(anonymous_40)",decl:{start:{line:260,column:4},end:{line:260,column:5}},loc:{start:{line:260,column:43},end:{line:262,column:5}},line:260},"41":{name:"(anonymous_41)",decl:{start:{line:263,column:4},end:{line:263,column:5}},loc:{start:{line:263,column:49},end:{line:265,column:5}},line:263},"42":{name:"(anonymous_42)",decl:{start:{line:266,column:4},end:{line:266,column:5}},loc:{start:{line:266,column:43},end:{line:268,column:5}},line:266},"43":{name:"(anonymous_43)",decl:{start:{line:269,column:4},end:{line:269,column:5}},loc:{start:{line:269,column:44},end:{line:271,column:5}},line:269},"44":{name:"(anonymous_44)",decl:{start:{line:272,column:4},end:{line:272,column:5}},loc:{start:{line:272,column:57},end:{line:274,column:5}},line:272},"45":{name:"(anonymous_45)",decl:{start:{line:275,column:4},end:{line:275,column:5}},loc:{start:{line:275,column:60},end:{line:277,column:5}},line:275},"46":{name:"(anonymous_46)",decl:{start:{line:278,column:4},end:{line:278,column:5}},loc:{start:{line:278,column:43},end:{line:280,column:5}},line:278},"47":{name:"(anonymous_47)",decl:{start:{line:281,column:4},end:{line:281,column:5}},loc:{start:{line:281,column:44},end:{line:283,column:5}},line:281},"48":{name:"(anonymous_48)",decl:{start:{line:289,column:4},end:{line:289,column:5}},loc:{start:{line:289,column:27},end:{line:321,column:5}},line:289},"49":{name:"(anonymous_49)",decl:{start:{line:290,column:30},end:{line:290,column:31}},loc:{start:{line:290,column:44},end:{line:320,column:9}},line:290},"50":{name:"(anonymous_50)",decl:{start:{line:327,column:4},end:{line:327,column:5}},loc:{start:{line:327,column:26},end:{line:329,column:5}},line:327},"51":{name:"(anonymous_51)",decl:{start:{line:333,column:4},end:{line:333,column:5}},loc:{start:{line:333,column:18},end:{line:341,column:5}},line:333},"52":{name:"(anonymous_52)",decl:{start:{line:348,column:28},end:{line:348,column:29}},loc:{start:{line:348,column:40},end:{line:351,column:24}},line:348}},branchMap:{"0":{loc:{start:{line:292,column:12},end:{line:300,column:13}},type:"if",locations:[{start:{line:292,column:12},end:{line:300,column:13}},{start:{line:292,column:12},end:{line:300,column:13}}],line:292},"1":{loc:{start:{line:295,column:16},end:{line:299,column:17}},type:"if",locations:[{start:{line:295,column:16},end:{line:299,column:17}},{start:{line:295,column:16},end:{line:299,column:17}}],line:295},"2":{loc:{start:{line:301,column:12},end:{line:319,column:13}},type:"if",locations:[{start:{line:301,column:12},end:{line:319,column:13}},{start:{line:301,column:12},end:{line:319,column:13}}],line:301},"3":{loc:{start:{line:303,column:16},end:{line:313,column:17}},type:"if",locations:[{start:{line:303,column:16},end:{line:313,column:17}},{start:{line:303,column:16},end:{line:313,column:17}}],line:303},"4":{loc:{start:{line:303,column:20},end:{line:303,column:59}},type:"binary-expr",locations:[{start:{line:303,column:20},end:{line:303,column:40}},{start:{line:303,column:44},end:{line:303,column:59}}],line:303},"5":{loc:{start:{line:335,column:8},end:{line:340,column:9}},type:"if",locations:[{start:{line:335,column:8},end:{line:340,column:9}},{start:{line:335,column:8},end:{line:340,column:9}}],line:335}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},inputSourceMap:{version:3,file:"sac-localisation.service.js",sourceRoot:"",sources:["../../../../projects/sac-common/src/services/sac-localisation.service.ts"],names:[],mappings:"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",sourcesContent:["import { ISacLocalisationService } from '../interfaces/ISacLocalisationService';\r\nimport { ISacValidationKeyService } from '../interfaces/ISacValidationKeyService';\r\nimport { Interpolation } from '../utilities/interpolation';\r\nimport { SACVALIDATIONKEY_SERVICE } from './sac-validationkey.service';\r\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n// #region Variables\r\n\r\n/**\r\n * injection token for localisation service\r\n */\r\nexport const SACLOCALISATION_SERVICE = new InjectionToken<SacAbstractLocalisationService>('SacLocalisationService');\r\n\r\n// #endregion Variables\r\n\r\n// #region Exported Classes\r\n\r\n/**\r\n * abstract class for localisation in components\r\n * */\r\n@Injectable({ providedIn: 'root' })\r\nexport abstract class SacAbstractLocalisationService implements ISacLocalisationService {\r\n // #region Protected Getters And Setters\r\n\r\n protected abstract get CONFIRM_BUTTON_NO(): Map<string, string>;\r\n\r\n protected abstract get CONFIRM_BUTTON_YES(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_CONFIRM_DELETEFILE(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_CONFIRM_DELETEFOLDER(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_DELETE(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_GRID_FILE(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_GRID_SIZE(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_NEWFOLDER(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_NO_FILES(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_REFRESH(): Map<string, string>;\r\n\r\n protected abstract get FILEBROWSER_UPLOAD(): Map<string, string>;\r\n\r\n protected abstract get PAGING_PAGEENTRIESTEXT(): Map<string, string>;\r\n\r\n protected abstract get PAGING_PAGEOFTEXT(): Map<string, string>;\r\n\r\n protected abstract get TINYMCE_FILESELECT_CANCEL(): Map<string, string>;\r\n\r\n protected abstract get TINYMCE_FILESELECT_DIALOGTITLE(): Map<string, string>;\r\n\r\n protected abstract get TINYMCE_FILESELECT_OK(): Map<string, string>;\r\n\r\n protected abstract get UPLOAD_BUTTON_BROWSE(): Map<string, string>;\r\n\r\n protected abstract get UPLOAD_BUTTON_UPLOAD(): Map<string, string>;\r\n\r\n protected abstract get UPLOAD_NO_FILE_SELECTED(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_DATETIMEFORMAT(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_EMAIL(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_FILESMIN(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MAXDATE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MAXTIME(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MAXVALUE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MINDATE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MINTEXTLENGTH(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MINTIME(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MINVALUE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_PATTERN(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_REQUIRED(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_EMAIL(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_FILESMIN(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXDATE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXTIME(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MAXVALUE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINDATE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINTEXTLENGTH(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINTIME(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MINVALUE(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_PATTERN(): Map<string, string>;\r\n\r\n protected abstract get VALIDATION_ERROR_SUMMARY_REQUIRED(): Map<string, string>;\r\n\r\n // #endregion Protected Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Die Methode \xFCbersetzt den eingegebenen Wort/Begriff. Verlangt key und optionell params\r\n */\r\n public abstract GetString(key: string, params?: any): Observable<string>;\r\n\r\n // #endregion Public Methods\r\n}\r\n\r\n/**\r\n * default localisation service\r\n * */\r\n@Injectable({ providedIn: 'root' })\r\nexport class SacDefaultLocalisationService extends SacAbstractLocalisationService {\r\n // #region Properties\r\n\r\n /**\r\n * Language Resources f\xFCr Controls Library\r\n */\r\n public data: Map<string, Map<string, string>> = new Map<string, Map<string, string>>();\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * */\r\n constructor(\r\n @Inject(SACVALIDATIONKEY_SERVICE)\r\n private validationKeyService: ISacValidationKeyService\r\n ) {\r\n super();\r\n\r\n // Set Languages\r\n this.data.set('de', new Map<string, string>());\r\n\r\n // Validation\r\n this.data.get('de').set(validationKeyService.ValidationErrorRequired, this.VALIDATION_ERROR_REQUIRED.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryRequired, this.VALIDATION_ERROR_SUMMARY_REQUIRED.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorMinValue, this.VALIDATION_ERROR_MINVALUE.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMinValue, this.VALIDATION_ERROR_SUMMARY_MINVALUE.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorPattern, this.VALIDATION_ERROR_PATTERN.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryPattern, this.VALIDATION_ERROR_SUMMARY_PATTERN.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorMaxValue, this.VALIDATION_ERROR_MAXVALUE.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMaxValue, this.VALIDATION_ERROR_SUMMARY_MAXVALUE.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorEmail, this.VALIDATION_ERROR_EMAIL.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryEmail, this.VALIDATION_ERROR_SUMMARY_EMAIL.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorMinTextLength, this.VALIDATION_ERROR_MINTEXTLENGTH.get('de'));\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMinTextLength,\r\n this.VALIDATION_ERROR_SUMMARY_MINTEXTLENGTH.get('de')\r\n );\r\n this.data.get('de').set(validationKeyService.ValidationErrorMinDate, this.VALIDATION_ERROR_MINDATE.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMinDate, this.VALIDATION_ERROR_SUMMARY_MINDATE.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorMaxDate, this.VALIDATION_ERROR_MAXDATE.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMaxDate, this.VALIDATION_ERROR_SUMMARY_MAXDATE.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorMinTime, this.VALIDATION_ERROR_MINTIME.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMinTime, this.VALIDATION_ERROR_SUMMARY_MINTIME.get('de'));\r\n this.data.get('de').set(validationKeyService.ValidationErrorMaxTime, this.VALIDATION_ERROR_MAXTIME.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryMaxTime, this.VALIDATION_ERROR_SUMMARY_MAXTIME.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorDatetimeFormat, this.VALIDATION_ERROR_DATETIMEFORMAT.get('de'));\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryDatetimeFormat,\r\n this.VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT.get('de')\r\n );\r\n this.data.get('de').set(validationKeyService.ValidationErrorFilesMin, this.VALIDATION_ERROR_FILESMIN.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.ValidationErrorSummaryFilesMin, this.VALIDATION_ERROR_SUMMARY_FILESMIN.get('de'));\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMultilanguageRequiredAny,\r\n this.VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny,\r\n this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorMultilanguageRequired,\r\n this.VALIDATION_ERROR_MULTILANGUAGEREQUIRED.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n validationKeyService.ValidationErrorSummaryMultilanguageRequired,\r\n this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED.get('de')\r\n );\r\n\r\n // Grid Component\r\n this.data.get('de').set(validationKeyService.PagingPageOf, this.PAGING_PAGEOFTEXT.get('de'));\r\n this.data.get('de').set(validationKeyService.PagingEntries, this.PAGING_PAGEENTRIESTEXT.get('de'));\r\n\r\n // Upload Component\r\n this.data.get('de').set(validationKeyService.UploadNoFilesSelected, this.UPLOAD_NO_FILE_SELECTED.get('de'));\r\n this.data.get('de').set(validationKeyService.UploadButtonUpload, this.UPLOAD_BUTTON_UPLOAD.get('de'));\r\n this.data.get('de').set(validationKeyService.UploadButtonBrowse, this.UPLOAD_BUTTON_BROWSE.get('de'));\r\n\r\n // TinyMCE Component\r\n this.data.get('de').set(validationKeyService.TinyMceFileselectOk, this.TINYMCE_FILESELECT_OK.get('de'));\r\n this.data.get('de').set(validationKeyService.TinyMceFileselectCancel, this.TINYMCE_FILESELECT_CANCEL.get('de'));\r\n this.data\r\n .get('de')\r\n .set(validationKeyService.TinyMceFileselectDialogtitle, this.TINYMCE_FILESELECT_DIALOGTITLE.get('de'));\r\n\r\n // Confirm Dialog Component\r\n this.data.get('de').set(validationKeyService.ConfirmDefaultButtonYes, this.CONFIRM_BUTTON_YES.get('de'));\r\n this.data.get('de').set(validationKeyService.ConfirmDefaultButtonNo, this.CONFIRM_BUTTON_NO.get('de'));\r\n\r\n // Browser Component\r\n this.data.get('de').set(validationKeyService.FilebrowserGridNoFiles, this.FILEBROWSER_NO_FILES.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserGridFilename, this.FILEBROWSER_GRID_FILE.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserGridSize, this.FILEBROWSER_GRID_SIZE.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserButtonUpload, this.FILEBROWSER_UPLOAD.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserButtonNewFolder, this.FILEBROWSER_NEWFOLDER.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserButtonRefresh, this.FILEBROWSER_REFRESH.get('de'));\r\n this.data.get('de').set(validationKeyService.FilebrowserButtonDelete, this.FILEBROWSER_DELETE.get('de'));\r\n this.data\r\n .get('de')\r\n .set(\r\n this.validationKeyService.FilebrowserConfirmTextDeleteFolder,\r\n this.FILEBROWSER_CONFIRM_DELETEFOLDER.get('de')\r\n );\r\n this.data\r\n .get('de')\r\n .set(\r\n this.validationKeyService.FilebrowserConfirmTextDeleteFile,\r\n this.FILEBROWSER_CONFIRM_DELETEFILE.get('de')\r\n );\r\n\r\n // EN\r\n // this.data.set('en', new Map<string, string>());\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Protected Getters And Setters\r\n\r\n protected get CONFIRM_BUTTON_NO(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Nein']]);\r\n }\r\n\r\n protected get CONFIRM_BUTTON_YES(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Ja']]);\r\n }\r\n\r\n protected get FILEBROWSER_CONFIRM_DELETEFILE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Soll die Datei gel\xF6scht werden?']]);\r\n }\r\n\r\n protected get FILEBROWSER_CONFIRM_DELETEFOLDER(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Soll der Ordner gel\xF6scht werden?']]);\r\n }\r\n\r\n protected get FILEBROWSER_DELETE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'L\xF6schen']]);\r\n }\r\n\r\n protected get FILEBROWSER_GRID_FILE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Dateiname']]);\r\n }\r\n\r\n protected get FILEBROWSER_GRID_SIZE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Gr\xF6sse']]);\r\n }\r\n\r\n protected get FILEBROWSER_NEWFOLDER(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Neuer Ordner']]);\r\n }\r\n\r\n protected get FILEBROWSER_NO_FILES(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Keine Dateien vorhanden']]);\r\n }\r\n\r\n protected get FILEBROWSER_REFRESH(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Aktualisieren']]);\r\n }\r\n\r\n protected get FILEBROWSER_UPLOAD(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Legen Sie Dateien hier ab um Sie hochzuladen']]);\r\n }\r\n\r\n protected get PAGING_PAGEENTRIESTEXT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Eintr\xE4ge pro Seite']]);\r\n }\r\n\r\n protected get PAGING_PAGEOFTEXT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Seite {{CURRENTPAGE}} von {{TOTALPAGES}}']]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_CANCEL(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Abbrechen']]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_DIALOGTITLE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Datei ausw\xE4hlen']]);\r\n }\r\n\r\n protected get TINYMCE_FILESELECT_OK(): Map<string, string> {\r\n return new Map<string, string>([['de', 'OK']]);\r\n }\r\n\r\n protected get UPLOAD_BUTTON_BROWSE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Browse...']]);\r\n }\r\n\r\n protected get UPLOAD_BUTTON_UPLOAD(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Upload']]);\r\n }\r\n\r\n protected get UPLOAD_NO_FILE_SELECTED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Keine Datei ausgew\xE4hlt']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_DATETIMEFORMAT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist kein g\xFCltiges Datum.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_EMAIL(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist keine E-Mail Adresse']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_FILESMIN(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Es m\xFCssen min. {{MINFILES}} Dateien hochgeladen sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXDATE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld muss \xE4lter oder gleich {{MAXDATE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXTIME(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld muss \xE4lter oder gleich {{MAXTIME}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MAXVALUE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" darf nicht gr\xF6sser als {{MAXVALUE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINDATE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld muss neuer oder gleich {{MINDATE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINTEXTLENGTH(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld erfordert min. {{MINTEXTLENGTH}} Zeichen.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINTIME(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld muss neuer oder gleich {{MINTIME}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MINVALUE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Wert darf nicht kleiner als {{MINVALUE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Es m\xFCssen alle Sprachen erfasst sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Es muss min. 1 Sprache erfasst sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_PATTERN(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Wert entspricht nicht der Format Vorlage.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_REQUIRED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld ist erforderlich.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" ist kein g\xFCltiges Datum.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_EMAIL(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" ist keine E-Mail Adresse']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_FILESMIN(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss min. {{MINFILES}} Dateien hochgeladen haben.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXDATE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss \xE4lter oder gleich {{MAXDATE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXTIME(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss \xE4lter oder gleich {{MAXTIME}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MAXVALUE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Wert darf nicht gr\xF6sser als {{MAXVALUE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINDATE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss neuer oder gleich {{MINDATE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINTEXTLENGTH(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" erfordert min. {{MINTEXTLENGTH}} Zeichen.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINTIME(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss neuer oder gleich {{MINTIME}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MINVALUE(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" darf nicht kleiner als {{MINVALUE}} sein.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss alle Sprachen erfasst haben.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" muss min. 1 Sprache erfasst haben.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_PATTERN(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" entspricht nicht der Format Vorlage.']]);\r\n }\r\n\r\n protected get VALIDATION_ERROR_SUMMARY_REQUIRED(): Map<string, string> {\r\n return new Map<string, string>([['de', 'Feld \"{{FIELD}}\" ist erforderlich.']]);\r\n }\r\n\r\n // #endregion Protected Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Die Methode ergibt die selecte Sprache (string) anhand von Key und Params\r\n */\r\n public GetString(key: string, params?: any): Observable<string> {\r\n return new Observable<string>((observer) => {\r\n let language: string = this.GetLanguage();\r\n\r\n if (!this.data.has(language)) {\r\n language = this.GetFallbackLanguage();\r\n\r\n // Return Key if no Language exists\r\n if (!this.data.has(language)) {\r\n observer.next(key);\r\n observer.complete();\r\n return;\r\n }\r\n }\r\n\r\n if (this.data.get(language).has(key)) {\r\n const resource = this.data.get(language).get(key);\r\n if (params !== undefined && params !== null) {\r\n const formatter: Interpolation = new Interpolation();\r\n observer.next(formatter.interpolateString(resource, params));\r\n observer.complete();\r\n return;\r\n } else {\r\n observer.next(resource);\r\n observer.complete();\r\n return;\r\n }\r\n } else {\r\n observer.next(key);\r\n observer.complete();\r\n return;\r\n }\r\n });\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * Die Funktion setzt die default Sprache auf DE, falls die Sprach-Setzung nicht m\xF6glich ist.\r\n */\r\n private GetFallbackLanguage(): string {\r\n return 'de';\r\n }\r\n\r\n /**\r\n * Die Funktion ergibt die ausgew\xE4hlte Sprache.\r\n */\r\n private GetLanguage(): string {\r\n const language: string = navigator.language;\r\n\r\n if (language.indexOf('-') >= 0) {\r\n return language.split('-')[0];\r\n } else {\r\n return language;\r\n }\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n\r\n// #endregion Exported Classes\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9792fe220a7d73feeaa02dbae97369d46a936182"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_2dv74gwmr=function(){return actualCoverage;};}return actualCoverage;}cov_2dv74gwmr();import{Interpolation}from'../utilities/interpolation';import{SACVALIDATIONKEY_SERVICE}from'./sac-validationkey.service';import{Inject,Injectable,InjectionToken}from'@angular/core';import{Observable}from'rxjs';import*as i0 from"@angular/core";// #region Variables
3
+ /**
4
+ * injection token for localisation service
5
+ */export const SACLOCALISATION_SERVICE=(cov_2dv74gwmr().s[0]++,new InjectionToken('SacLocalisationService'));// #endregion Variables
6
+ // #region Exported Classes
3
7
  /**
4
8
  * abstract class for localisation in components
5
- * */export class SacAbstractLocalisationService{}cov_2dv74gwmr().s[0]++;SacAbstractLocalisationService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,deps:[],target:i0.ɵɵFactoryTarget.Injectable});cov_2dv74gwmr().s[1]++;SacAbstractLocalisationService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,providedIn:'root'});cov_2dv74gwmr().s[2]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});/**
9
+ * */export class SacAbstractLocalisationService{}cov_2dv74gwmr().s[1]++;SacAbstractLocalisationService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,deps:[],target:i0.ɵɵFactoryTarget.Injectable});cov_2dv74gwmr().s[2]++;SacAbstractLocalisationService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,providedIn:'root'});cov_2dv74gwmr().s[3]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacAbstractLocalisationService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}]});/**
6
10
  * default localisation service
7
11
  * */export class SacDefaultLocalisationService extends SacAbstractLocalisationService{// #endregion Properties
8
12
  // #region Constructors
9
13
  /**
10
14
  * Konstruktor
11
- * */constructor(validationKeyService){cov_2dv74gwmr().f[0]++;cov_2dv74gwmr().s[3]++;super();cov_2dv74gwmr().s[4]++;this.validationKeyService=validationKeyService;// #region Properties
15
+ * */constructor(validationKeyService){cov_2dv74gwmr().f[0]++;cov_2dv74gwmr().s[4]++;super();cov_2dv74gwmr().s[5]++;this.validationKeyService=validationKeyService;// #region Properties
12
16
  /**
13
17
  * Language Resources für Controls Library
14
- */cov_2dv74gwmr().s[5]++;this.data=new Map();// Set Languages
15
- cov_2dv74gwmr().s[6]++;this.data.set('de',new Map());// Validation
16
- cov_2dv74gwmr().s[7]++;this.data.get('de').set(validationKeyService.ValidationErrorRequired,this.VALIDATION_ERROR_REQUIRED.get('de'));cov_2dv74gwmr().s[8]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryRequired,this.VALIDATION_ERROR_SUMMARY_REQUIRED.get('de'));cov_2dv74gwmr().s[9]++;this.data.get('de').set(validationKeyService.ValidationErrorMinValue,this.VALIDATION_ERROR_MINVALUE.get('de'));cov_2dv74gwmr().s[10]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinValue,this.VALIDATION_ERROR_SUMMARY_MINVALUE.get('de'));cov_2dv74gwmr().s[11]++;this.data.get('de').set(validationKeyService.ValidationErrorPattern,this.VALIDATION_ERROR_PATTERN.get('de'));cov_2dv74gwmr().s[12]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryPattern,this.VALIDATION_ERROR_SUMMARY_PATTERN.get('de'));cov_2dv74gwmr().s[13]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxValue,this.VALIDATION_ERROR_MAXVALUE.get('de'));cov_2dv74gwmr().s[14]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxValue,this.VALIDATION_ERROR_SUMMARY_MAXVALUE.get('de'));cov_2dv74gwmr().s[15]++;this.data.get('de').set(validationKeyService.ValidationErrorEmail,this.VALIDATION_ERROR_EMAIL.get('de'));cov_2dv74gwmr().s[16]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryEmail,this.VALIDATION_ERROR_SUMMARY_EMAIL.get('de'));cov_2dv74gwmr().s[17]++;this.data.get('de').set(validationKeyService.ValidationErrorMinLength,this.VALIDATION_ERROR_MINLENGTH.get('de'));cov_2dv74gwmr().s[18]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinLength,this.VALIDATION_ERROR_SUMMARY_MINLENGTH.get('de'));cov_2dv74gwmr().s[19]++;this.data.get('de').set(validationKeyService.ValidationErrorMinDate,this.VALIDATION_ERROR_MINDATE.get('de'));cov_2dv74gwmr().s[20]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinDate,this.VALIDATION_ERROR_SUMMARY_MINDATE.get('de'));cov_2dv74gwmr().s[21]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxDate,this.VALIDATION_ERROR_MAXDATE.get('de'));cov_2dv74gwmr().s[22]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxDate,this.VALIDATION_ERROR_SUMMARY_MAXDATE.get('de'));cov_2dv74gwmr().s[23]++;this.data.get('de').set(validationKeyService.ValidationErrorMinTime,this.VALIDATION_ERROR_MINTIME.get('de'));cov_2dv74gwmr().s[24]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinTime,this.VALIDATION_ERROR_SUMMARY_MINTIME.get('de'));cov_2dv74gwmr().s[25]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxTime,this.VALIDATION_ERROR_MAXTIME.get('de'));cov_2dv74gwmr().s[26]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxTime,this.VALIDATION_ERROR_SUMMARY_MAXTIME.get('de'));cov_2dv74gwmr().s[27]++;this.data.get('de').set(validationKeyService.ValidationErrorDatetimeFormat,this.VALIDATION_ERROR_DATETIMEFORMAT.get('de'));cov_2dv74gwmr().s[28]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryDatetimeFormat,this.VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT.get('de'));cov_2dv74gwmr().s[29]++;this.data.get('de').set(validationKeyService.ValidationErrorFilesMin,this.VALIDATION_ERROR_FILESMIN.get('de'));cov_2dv74gwmr().s[30]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryFilesMin,this.VALIDATION_ERROR_SUMMARY_FILESMIN.get('de'));cov_2dv74gwmr().s[31]++;this.data.get('de').set(validationKeyService.ValidationErrorMultilanguageRequiredAny,this.VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY.get('de'));cov_2dv74gwmr().s[32]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny,this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY.get('de'));cov_2dv74gwmr().s[33]++;this.data.get('de').set(validationKeyService.ValidationErrorMultilanguageRequired,this.VALIDATION_ERROR_MULTILANGUAGEREQUIRED.get('de'));cov_2dv74gwmr().s[34]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMultilanguageRequired,this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED.get('de'));// Grid Component
17
- cov_2dv74gwmr().s[35]++;this.data.get('de').set(validationKeyService.PagingPageOf,this.PAGING_PAGEOFTEXT.get('de'));cov_2dv74gwmr().s[36]++;this.data.get('de').set(validationKeyService.PagingEntries,this.PAGING_PAGEENTRIESTEXT.get('de'));// Upload Component
18
- cov_2dv74gwmr().s[37]++;this.data.get('de').set(validationKeyService.UploadNoFilesSelected,this.UPLOAD_NO_FILE_SELECTED.get('de'));cov_2dv74gwmr().s[38]++;this.data.get('de').set(validationKeyService.UploadButtonUpload,this.UPLOAD_BUTTON_UPLOAD.get('de'));cov_2dv74gwmr().s[39]++;this.data.get('de').set(validationKeyService.UploadButtonBrowse,this.UPLOAD_BUTTON_BROWSE.get('de'));// TinyMCE Component
19
- cov_2dv74gwmr().s[40]++;this.data.get('de').set(validationKeyService.TinyMceFileselectOk,this.TINYMCE_FILESELECT_OK.get('de'));cov_2dv74gwmr().s[41]++;this.data.get('de').set(validationKeyService.TinyMceFileselectCancel,this.TINYMCE_FILESELECT_CANCEL.get('de'));cov_2dv74gwmr().s[42]++;this.data.get('de').set(validationKeyService.TinyMceFileselectDialogtitle,this.TINYMCE_FILESELECT_DIALOGTITLE.get('de'));// Confirm Dialog Component
20
- cov_2dv74gwmr().s[43]++;this.data.get('de').set(validationKeyService.ConfirmDefaultButtonYes,this.CONFIRM_BUTTON_YES.get('de'));cov_2dv74gwmr().s[44]++;this.data.get('de').set(validationKeyService.ConfirmDefaultButtonNo,this.CONFIRM_BUTTON_NO.get('de'));// Browser Component
21
- cov_2dv74gwmr().s[45]++;this.data.get('de').set(validationKeyService.FilebrowserGridNoFiles,this.FILEBROWSER_NO_FILES.get('de'));cov_2dv74gwmr().s[46]++;this.data.get('de').set(validationKeyService.FilebrowserGridFilename,this.FILEBROWSER_GRID_FILE.get('de'));cov_2dv74gwmr().s[47]++;this.data.get('de').set(validationKeyService.FilebrowserGridSize,this.FILEBROWSER_GRID_SIZE.get('de'));cov_2dv74gwmr().s[48]++;this.data.get('de').set(validationKeyService.FilebrowserButtonUpload,this.FILEBROWSER_UPLOAD.get('de'));cov_2dv74gwmr().s[49]++;this.data.get('de').set(validationKeyService.FilebrowserButtonNewFolder,this.FILEBROWSER_NEWFOLDER.get('de'));cov_2dv74gwmr().s[50]++;this.data.get('de').set(validationKeyService.FilebrowserButtonRefresh,this.FILEBROWSER_REFRESH.get('de'));cov_2dv74gwmr().s[51]++;this.data.get('de').set(validationKeyService.FilebrowserButtonDelete,this.FILEBROWSER_DELETE.get('de'));cov_2dv74gwmr().s[52]++;this.data.get('de').set(this.validationKeyService.FilebrowserConfirmTextDeleteFolder,this.FILEBROWSER_CONFIRM_DELETEFOLDER.get('de'));cov_2dv74gwmr().s[53]++;this.data.get('de').set(this.validationKeyService.FilebrowserConfirmTextDeleteFile,this.FILEBROWSER_CONFIRM_DELETEFILE.get('de'));// EN
22
- cov_2dv74gwmr().s[54]++;this.data.set('en',new Map());}// #endregion Constructors
18
+ */cov_2dv74gwmr().s[6]++;this.data=new Map();// Set Languages
19
+ cov_2dv74gwmr().s[7]++;this.data.set('de',new Map());// Validation
20
+ cov_2dv74gwmr().s[8]++;this.data.get('de').set(validationKeyService.ValidationErrorRequired,this.VALIDATION_ERROR_REQUIRED.get('de'));cov_2dv74gwmr().s[9]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryRequired,this.VALIDATION_ERROR_SUMMARY_REQUIRED.get('de'));cov_2dv74gwmr().s[10]++;this.data.get('de').set(validationKeyService.ValidationErrorMinValue,this.VALIDATION_ERROR_MINVALUE.get('de'));cov_2dv74gwmr().s[11]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinValue,this.VALIDATION_ERROR_SUMMARY_MINVALUE.get('de'));cov_2dv74gwmr().s[12]++;this.data.get('de').set(validationKeyService.ValidationErrorPattern,this.VALIDATION_ERROR_PATTERN.get('de'));cov_2dv74gwmr().s[13]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryPattern,this.VALIDATION_ERROR_SUMMARY_PATTERN.get('de'));cov_2dv74gwmr().s[14]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxValue,this.VALIDATION_ERROR_MAXVALUE.get('de'));cov_2dv74gwmr().s[15]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxValue,this.VALIDATION_ERROR_SUMMARY_MAXVALUE.get('de'));cov_2dv74gwmr().s[16]++;this.data.get('de').set(validationKeyService.ValidationErrorEmail,this.VALIDATION_ERROR_EMAIL.get('de'));cov_2dv74gwmr().s[17]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryEmail,this.VALIDATION_ERROR_SUMMARY_EMAIL.get('de'));cov_2dv74gwmr().s[18]++;this.data.get('de').set(validationKeyService.ValidationErrorMinTextLength,this.VALIDATION_ERROR_MINTEXTLENGTH.get('de'));cov_2dv74gwmr().s[19]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinTextLength,this.VALIDATION_ERROR_SUMMARY_MINTEXTLENGTH.get('de'));cov_2dv74gwmr().s[20]++;this.data.get('de').set(validationKeyService.ValidationErrorMinDate,this.VALIDATION_ERROR_MINDATE.get('de'));cov_2dv74gwmr().s[21]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinDate,this.VALIDATION_ERROR_SUMMARY_MINDATE.get('de'));cov_2dv74gwmr().s[22]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxDate,this.VALIDATION_ERROR_MAXDATE.get('de'));cov_2dv74gwmr().s[23]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxDate,this.VALIDATION_ERROR_SUMMARY_MAXDATE.get('de'));cov_2dv74gwmr().s[24]++;this.data.get('de').set(validationKeyService.ValidationErrorMinTime,this.VALIDATION_ERROR_MINTIME.get('de'));cov_2dv74gwmr().s[25]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMinTime,this.VALIDATION_ERROR_SUMMARY_MINTIME.get('de'));cov_2dv74gwmr().s[26]++;this.data.get('de').set(validationKeyService.ValidationErrorMaxTime,this.VALIDATION_ERROR_MAXTIME.get('de'));cov_2dv74gwmr().s[27]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMaxTime,this.VALIDATION_ERROR_SUMMARY_MAXTIME.get('de'));cov_2dv74gwmr().s[28]++;this.data.get('de').set(validationKeyService.ValidationErrorDatetimeFormat,this.VALIDATION_ERROR_DATETIMEFORMAT.get('de'));cov_2dv74gwmr().s[29]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryDatetimeFormat,this.VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT.get('de'));cov_2dv74gwmr().s[30]++;this.data.get('de').set(validationKeyService.ValidationErrorFilesMin,this.VALIDATION_ERROR_FILESMIN.get('de'));cov_2dv74gwmr().s[31]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryFilesMin,this.VALIDATION_ERROR_SUMMARY_FILESMIN.get('de'));cov_2dv74gwmr().s[32]++;this.data.get('de').set(validationKeyService.ValidationErrorMultilanguageRequiredAny,this.VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY.get('de'));cov_2dv74gwmr().s[33]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMultilanguageRequiredAny,this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY.get('de'));cov_2dv74gwmr().s[34]++;this.data.get('de').set(validationKeyService.ValidationErrorMultilanguageRequired,this.VALIDATION_ERROR_MULTILANGUAGEREQUIRED.get('de'));cov_2dv74gwmr().s[35]++;this.data.get('de').set(validationKeyService.ValidationErrorSummaryMultilanguageRequired,this.VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED.get('de'));// Grid Component
21
+ cov_2dv74gwmr().s[36]++;this.data.get('de').set(validationKeyService.PagingPageOf,this.PAGING_PAGEOFTEXT.get('de'));cov_2dv74gwmr().s[37]++;this.data.get('de').set(validationKeyService.PagingEntries,this.PAGING_PAGEENTRIESTEXT.get('de'));// Upload Component
22
+ cov_2dv74gwmr().s[38]++;this.data.get('de').set(validationKeyService.UploadNoFilesSelected,this.UPLOAD_NO_FILE_SELECTED.get('de'));cov_2dv74gwmr().s[39]++;this.data.get('de').set(validationKeyService.UploadButtonUpload,this.UPLOAD_BUTTON_UPLOAD.get('de'));cov_2dv74gwmr().s[40]++;this.data.get('de').set(validationKeyService.UploadButtonBrowse,this.UPLOAD_BUTTON_BROWSE.get('de'));// TinyMCE Component
23
+ cov_2dv74gwmr().s[41]++;this.data.get('de').set(validationKeyService.TinyMceFileselectOk,this.TINYMCE_FILESELECT_OK.get('de'));cov_2dv74gwmr().s[42]++;this.data.get('de').set(validationKeyService.TinyMceFileselectCancel,this.TINYMCE_FILESELECT_CANCEL.get('de'));cov_2dv74gwmr().s[43]++;this.data.get('de').set(validationKeyService.TinyMceFileselectDialogtitle,this.TINYMCE_FILESELECT_DIALOGTITLE.get('de'));// Confirm Dialog Component
24
+ cov_2dv74gwmr().s[44]++;this.data.get('de').set(validationKeyService.ConfirmDefaultButtonYes,this.CONFIRM_BUTTON_YES.get('de'));cov_2dv74gwmr().s[45]++;this.data.get('de').set(validationKeyService.ConfirmDefaultButtonNo,this.CONFIRM_BUTTON_NO.get('de'));// Browser Component
25
+ cov_2dv74gwmr().s[46]++;this.data.get('de').set(validationKeyService.FilebrowserGridNoFiles,this.FILEBROWSER_NO_FILES.get('de'));cov_2dv74gwmr().s[47]++;this.data.get('de').set(validationKeyService.FilebrowserGridFilename,this.FILEBROWSER_GRID_FILE.get('de'));cov_2dv74gwmr().s[48]++;this.data.get('de').set(validationKeyService.FilebrowserGridSize,this.FILEBROWSER_GRID_SIZE.get('de'));cov_2dv74gwmr().s[49]++;this.data.get('de').set(validationKeyService.FilebrowserButtonUpload,this.FILEBROWSER_UPLOAD.get('de'));cov_2dv74gwmr().s[50]++;this.data.get('de').set(validationKeyService.FilebrowserButtonNewFolder,this.FILEBROWSER_NEWFOLDER.get('de'));cov_2dv74gwmr().s[51]++;this.data.get('de').set(validationKeyService.FilebrowserButtonRefresh,this.FILEBROWSER_REFRESH.get('de'));cov_2dv74gwmr().s[52]++;this.data.get('de').set(validationKeyService.FilebrowserButtonDelete,this.FILEBROWSER_DELETE.get('de'));cov_2dv74gwmr().s[53]++;this.data.get('de').set(this.validationKeyService.FilebrowserConfirmTextDeleteFolder,this.FILEBROWSER_CONFIRM_DELETEFOLDER.get('de'));cov_2dv74gwmr().s[54]++;this.data.get('de').set(this.validationKeyService.FilebrowserConfirmTextDeleteFile,this.FILEBROWSER_CONFIRM_DELETEFILE.get('de'));// EN
26
+ // this.data.set('en', new Map<string, string>());
27
+ }// #endregion Constructors
23
28
  // #region Protected Getters And Setters
24
- get CONFIRM_BUTTON_NO(){cov_2dv74gwmr().f[1]++;cov_2dv74gwmr().s[55]++;return new Map([['de','Nein']]);}get CONFIRM_BUTTON_YES(){cov_2dv74gwmr().f[2]++;cov_2dv74gwmr().s[56]++;return new Map([['de','Ja']]);}get FILEBROWSER_CONFIRM_DELETEFILE(){cov_2dv74gwmr().f[3]++;cov_2dv74gwmr().s[57]++;return new Map([['de','Soll die Datei gelöscht werden?']]);}get FILEBROWSER_CONFIRM_DELETEFOLDER(){cov_2dv74gwmr().f[4]++;cov_2dv74gwmr().s[58]++;return new Map([['de','Soll der Ordner gelöscht werden?']]);}get FILEBROWSER_DELETE(){cov_2dv74gwmr().f[5]++;cov_2dv74gwmr().s[59]++;return new Map([['de','Löschen']]);}get FILEBROWSER_GRID_FILE(){cov_2dv74gwmr().f[6]++;cov_2dv74gwmr().s[60]++;return new Map([['de','Dateiname']]);}get FILEBROWSER_GRID_SIZE(){cov_2dv74gwmr().f[7]++;cov_2dv74gwmr().s[61]++;return new Map([['de','Grösse']]);}get FILEBROWSER_NEWFOLDER(){cov_2dv74gwmr().f[8]++;cov_2dv74gwmr().s[62]++;return new Map([['de','Neuer Ordner']]);}get FILEBROWSER_NO_FILES(){cov_2dv74gwmr().f[9]++;cov_2dv74gwmr().s[63]++;return new Map([['de','Keine Dateien vorhanden']]);}get FILEBROWSER_REFRESH(){cov_2dv74gwmr().f[10]++;cov_2dv74gwmr().s[64]++;return new Map([['de','Aktualisieren']]);}get FILEBROWSER_UPLOAD(){cov_2dv74gwmr().f[11]++;cov_2dv74gwmr().s[65]++;return new Map([['de','Legen Sie Dateien hier ab um Sie hochzuladen']]);}get PAGING_PAGEENTRIESTEXT(){cov_2dv74gwmr().f[12]++;cov_2dv74gwmr().s[66]++;return new Map([['de','Einträge pro Seite']]);}get PAGING_PAGEOFTEXT(){cov_2dv74gwmr().f[13]++;cov_2dv74gwmr().s[67]++;return new Map([['de','Seite {{CURRENTPAGE}} von {{TOTALPAGES}}']]);}get TINYMCE_FILESELECT_CANCEL(){cov_2dv74gwmr().f[14]++;cov_2dv74gwmr().s[68]++;return new Map([['de','Abbrechen']]);}get TINYMCE_FILESELECT_DIALOGTITLE(){cov_2dv74gwmr().f[15]++;cov_2dv74gwmr().s[69]++;return new Map([['de','Datei auswählen']]);}get TINYMCE_FILESELECT_OK(){cov_2dv74gwmr().f[16]++;cov_2dv74gwmr().s[70]++;return new Map([['de','OK']]);}get UPLOAD_BUTTON_BROWSE(){cov_2dv74gwmr().f[17]++;cov_2dv74gwmr().s[71]++;return new Map([['de','Browse...']]);}get UPLOAD_BUTTON_UPLOAD(){cov_2dv74gwmr().f[18]++;cov_2dv74gwmr().s[72]++;return new Map([['de','Upload']]);}get UPLOAD_NO_FILE_SELECTED(){cov_2dv74gwmr().f[19]++;cov_2dv74gwmr().s[73]++;return new Map([['de','Keine Datei ausgewählt']]);}get VALIDATION_ERROR_DATETIMEFORMAT(){cov_2dv74gwmr().f[20]++;cov_2dv74gwmr().s[74]++;return new Map([['de','Feld ist kein gültiges Datum.']]);}get VALIDATION_ERROR_EMAIL(){cov_2dv74gwmr().f[21]++;cov_2dv74gwmr().s[75]++;return new Map([['de','Feld ist keine E-Mail Adresse']]);}get VALIDATION_ERROR_FILESMIN(){cov_2dv74gwmr().f[22]++;cov_2dv74gwmr().s[76]++;return new Map([['de','Es müssen min. {{MINFILES}} Dateien hochgeladen sein.']]);}get VALIDATION_ERROR_MAXDATE(){cov_2dv74gwmr().f[23]++;cov_2dv74gwmr().s[77]++;return new Map([['de','Feld muss älter oder gleich {{MAXDATE}} sein.']]);}get VALIDATION_ERROR_MAXTIME(){cov_2dv74gwmr().f[24]++;cov_2dv74gwmr().s[78]++;return new Map([['de','Feld muss älter oder gleich {{MAXTIME}} sein.']]);}get VALIDATION_ERROR_MAXVALUE(){cov_2dv74gwmr().f[25]++;cov_2dv74gwmr().s[79]++;return new Map([['de','Feld "{{FIELD}}" darf nicht grösser als {{MAXVALUE}} sein.']]);}get VALIDATION_ERROR_MINDATE(){cov_2dv74gwmr().f[26]++;cov_2dv74gwmr().s[80]++;return new Map([['de','Feld muss neuer oder gleich {{MINDATE}} sein.']]);}get VALIDATION_ERROR_MINLENGTH(){cov_2dv74gwmr().f[27]++;cov_2dv74gwmr().s[81]++;return new Map([['de','Feld erfordert min. {{MINLENGTH}} Zeichen.']]);}get VALIDATION_ERROR_MINTIME(){cov_2dv74gwmr().f[28]++;cov_2dv74gwmr().s[82]++;return new Map([['de','Feld muss neuer oder gleich {{MINTIME}} sein.']]);}get VALIDATION_ERROR_MINVALUE(){cov_2dv74gwmr().f[29]++;cov_2dv74gwmr().s[83]++;return new Map([['de','Wert darf nicht kleiner als {{MINVALUE}} sein.']]);}get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(){cov_2dv74gwmr().f[30]++;cov_2dv74gwmr().s[84]++;return new Map([['de','Es müssen alle Sprachen erfasst sein.']]);}get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(){cov_2dv74gwmr().f[31]++;cov_2dv74gwmr().s[85]++;return new Map([['de','Es muss min. 1 Sprache erfasst sein.']]);}get VALIDATION_ERROR_PATTERN(){cov_2dv74gwmr().f[32]++;cov_2dv74gwmr().s[86]++;return new Map([['de','Wert entspricht nicht der Format Vorlage.']]);}get VALIDATION_ERROR_REQUIRED(){cov_2dv74gwmr().f[33]++;cov_2dv74gwmr().s[87]++;return new Map([['de','Feld ist erforderlich.']]);}get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(){cov_2dv74gwmr().f[34]++;cov_2dv74gwmr().s[88]++;return new Map([['de','Feld "{{FIELD}}" ist kein gültiges Datum.']]);}get VALIDATION_ERROR_SUMMARY_EMAIL(){cov_2dv74gwmr().f[35]++;cov_2dv74gwmr().s[89]++;return new Map([['de','Feld "{{FIELD}}" ist keine E-Mail Adresse']]);}get VALIDATION_ERROR_SUMMARY_FILESMIN(){cov_2dv74gwmr().f[36]++;cov_2dv74gwmr().s[90]++;return new Map([['de','Feld "{{FIELD}}" muss min. {{MINFILES}} Dateien hochgeladen haben.']]);}get VALIDATION_ERROR_SUMMARY_MAXDATE(){cov_2dv74gwmr().f[37]++;cov_2dv74gwmr().s[91]++;return new Map([['de','Feld "{{FIELD}}" muss älter oder gleich {{MAXDATE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MAXTIME(){cov_2dv74gwmr().f[38]++;cov_2dv74gwmr().s[92]++;return new Map([['de','Feld "{{FIELD}}" muss älter oder gleich {{MAXTIME}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MAXVALUE(){cov_2dv74gwmr().f[39]++;cov_2dv74gwmr().s[93]++;return new Map([['de','Wert darf nicht grösser als {{MAXVALUE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINDATE(){cov_2dv74gwmr().f[40]++;cov_2dv74gwmr().s[94]++;return new Map([['de','Feld "{{FIELD}}" muss neuer oder gleich {{MINDATE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINLENGTH(){cov_2dv74gwmr().f[41]++;cov_2dv74gwmr().s[95]++;return new Map([['de','Feld "{{FIELD}}" erfordert min. {{MINLENGTH}} Zeichen.']]);}get VALIDATION_ERROR_SUMMARY_MINTIME(){cov_2dv74gwmr().f[42]++;cov_2dv74gwmr().s[96]++;return new Map([['de','Feld "{{FIELD}}" muss neuer oder gleich {{MINTIME}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINVALUE(){cov_2dv74gwmr().f[43]++;cov_2dv74gwmr().s[97]++;return new Map([['de','Feld "{{FIELD}}" darf nicht kleiner als {{MINVALUE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(){cov_2dv74gwmr().f[44]++;cov_2dv74gwmr().s[98]++;return new Map([['de','Feld "{{FIELD}}" muss alle Sprachen erfasst haben.']]);}get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(){cov_2dv74gwmr().f[45]++;cov_2dv74gwmr().s[99]++;return new Map([['de','Feld "{{FIELD}}" muss min. 1 Sprache erfasst haben.']]);}get VALIDATION_ERROR_SUMMARY_PATTERN(){cov_2dv74gwmr().f[46]++;cov_2dv74gwmr().s[100]++;return new Map([['de','Feld "{{FIELD}}" entspricht nicht der Format Vorlage.']]);}get VALIDATION_ERROR_SUMMARY_REQUIRED(){cov_2dv74gwmr().f[47]++;cov_2dv74gwmr().s[101]++;return new Map([['de','Feld "{{FIELD}}" ist erforderlich.']]);}// #endregion Protected Getters And Setters
29
+ get CONFIRM_BUTTON_NO(){cov_2dv74gwmr().f[1]++;cov_2dv74gwmr().s[55]++;return new Map([['de','Nein']]);}get CONFIRM_BUTTON_YES(){cov_2dv74gwmr().f[2]++;cov_2dv74gwmr().s[56]++;return new Map([['de','Ja']]);}get FILEBROWSER_CONFIRM_DELETEFILE(){cov_2dv74gwmr().f[3]++;cov_2dv74gwmr().s[57]++;return new Map([['de','Soll die Datei gelöscht werden?']]);}get FILEBROWSER_CONFIRM_DELETEFOLDER(){cov_2dv74gwmr().f[4]++;cov_2dv74gwmr().s[58]++;return new Map([['de','Soll der Ordner gelöscht werden?']]);}get FILEBROWSER_DELETE(){cov_2dv74gwmr().f[5]++;cov_2dv74gwmr().s[59]++;return new Map([['de','Löschen']]);}get FILEBROWSER_GRID_FILE(){cov_2dv74gwmr().f[6]++;cov_2dv74gwmr().s[60]++;return new Map([['de','Dateiname']]);}get FILEBROWSER_GRID_SIZE(){cov_2dv74gwmr().f[7]++;cov_2dv74gwmr().s[61]++;return new Map([['de','Grösse']]);}get FILEBROWSER_NEWFOLDER(){cov_2dv74gwmr().f[8]++;cov_2dv74gwmr().s[62]++;return new Map([['de','Neuer Ordner']]);}get FILEBROWSER_NO_FILES(){cov_2dv74gwmr().f[9]++;cov_2dv74gwmr().s[63]++;return new Map([['de','Keine Dateien vorhanden']]);}get FILEBROWSER_REFRESH(){cov_2dv74gwmr().f[10]++;cov_2dv74gwmr().s[64]++;return new Map([['de','Aktualisieren']]);}get FILEBROWSER_UPLOAD(){cov_2dv74gwmr().f[11]++;cov_2dv74gwmr().s[65]++;return new Map([['de','Legen Sie Dateien hier ab um Sie hochzuladen']]);}get PAGING_PAGEENTRIESTEXT(){cov_2dv74gwmr().f[12]++;cov_2dv74gwmr().s[66]++;return new Map([['de','Einträge pro Seite']]);}get PAGING_PAGEOFTEXT(){cov_2dv74gwmr().f[13]++;cov_2dv74gwmr().s[67]++;return new Map([['de','Seite {{CURRENTPAGE}} von {{TOTALPAGES}}']]);}get TINYMCE_FILESELECT_CANCEL(){cov_2dv74gwmr().f[14]++;cov_2dv74gwmr().s[68]++;return new Map([['de','Abbrechen']]);}get TINYMCE_FILESELECT_DIALOGTITLE(){cov_2dv74gwmr().f[15]++;cov_2dv74gwmr().s[69]++;return new Map([['de','Datei auswählen']]);}get TINYMCE_FILESELECT_OK(){cov_2dv74gwmr().f[16]++;cov_2dv74gwmr().s[70]++;return new Map([['de','OK']]);}get UPLOAD_BUTTON_BROWSE(){cov_2dv74gwmr().f[17]++;cov_2dv74gwmr().s[71]++;return new Map([['de','Browse...']]);}get UPLOAD_BUTTON_UPLOAD(){cov_2dv74gwmr().f[18]++;cov_2dv74gwmr().s[72]++;return new Map([['de','Upload']]);}get UPLOAD_NO_FILE_SELECTED(){cov_2dv74gwmr().f[19]++;cov_2dv74gwmr().s[73]++;return new Map([['de','Keine Datei ausgewählt']]);}get VALIDATION_ERROR_DATETIMEFORMAT(){cov_2dv74gwmr().f[20]++;cov_2dv74gwmr().s[74]++;return new Map([['de','Feld ist kein gültiges Datum.']]);}get VALIDATION_ERROR_EMAIL(){cov_2dv74gwmr().f[21]++;cov_2dv74gwmr().s[75]++;return new Map([['de','Feld ist keine E-Mail Adresse']]);}get VALIDATION_ERROR_FILESMIN(){cov_2dv74gwmr().f[22]++;cov_2dv74gwmr().s[76]++;return new Map([['de','Es müssen min. {{MINFILES}} Dateien hochgeladen sein.']]);}get VALIDATION_ERROR_MAXDATE(){cov_2dv74gwmr().f[23]++;cov_2dv74gwmr().s[77]++;return new Map([['de','Feld muss älter oder gleich {{MAXDATE}} sein.']]);}get VALIDATION_ERROR_MAXTIME(){cov_2dv74gwmr().f[24]++;cov_2dv74gwmr().s[78]++;return new Map([['de','Feld muss älter oder gleich {{MAXTIME}} sein.']]);}get VALIDATION_ERROR_MAXVALUE(){cov_2dv74gwmr().f[25]++;cov_2dv74gwmr().s[79]++;return new Map([['de','Feld "{{FIELD}}" darf nicht grösser als {{MAXVALUE}} sein.']]);}get VALIDATION_ERROR_MINDATE(){cov_2dv74gwmr().f[26]++;cov_2dv74gwmr().s[80]++;return new Map([['de','Feld muss neuer oder gleich {{MINDATE}} sein.']]);}get VALIDATION_ERROR_MINTEXTLENGTH(){cov_2dv74gwmr().f[27]++;cov_2dv74gwmr().s[81]++;return new Map([['de','Feld erfordert min. {{MINTEXTLENGTH}} Zeichen.']]);}get VALIDATION_ERROR_MINTIME(){cov_2dv74gwmr().f[28]++;cov_2dv74gwmr().s[82]++;return new Map([['de','Feld muss neuer oder gleich {{MINTIME}} sein.']]);}get VALIDATION_ERROR_MINVALUE(){cov_2dv74gwmr().f[29]++;cov_2dv74gwmr().s[83]++;return new Map([['de','Wert darf nicht kleiner als {{MINVALUE}} sein.']]);}get VALIDATION_ERROR_MULTILANGUAGEREQUIRED(){cov_2dv74gwmr().f[30]++;cov_2dv74gwmr().s[84]++;return new Map([['de','Es müssen alle Sprachen erfasst sein.']]);}get VALIDATION_ERROR_MULTILANGUAGEREQUIREDANY(){cov_2dv74gwmr().f[31]++;cov_2dv74gwmr().s[85]++;return new Map([['de','Es muss min. 1 Sprache erfasst sein.']]);}get VALIDATION_ERROR_PATTERN(){cov_2dv74gwmr().f[32]++;cov_2dv74gwmr().s[86]++;return new Map([['de','Wert entspricht nicht der Format Vorlage.']]);}get VALIDATION_ERROR_REQUIRED(){cov_2dv74gwmr().f[33]++;cov_2dv74gwmr().s[87]++;return new Map([['de','Feld ist erforderlich.']]);}get VALIDATION_ERROR_SUMMARY_DATETIMEFORMAT(){cov_2dv74gwmr().f[34]++;cov_2dv74gwmr().s[88]++;return new Map([['de','Feld "{{FIELD}}" ist kein gültiges Datum.']]);}get VALIDATION_ERROR_SUMMARY_EMAIL(){cov_2dv74gwmr().f[35]++;cov_2dv74gwmr().s[89]++;return new Map([['de','Feld "{{FIELD}}" ist keine E-Mail Adresse']]);}get VALIDATION_ERROR_SUMMARY_FILESMIN(){cov_2dv74gwmr().f[36]++;cov_2dv74gwmr().s[90]++;return new Map([['de','Feld "{{FIELD}}" muss min. {{MINFILES}} Dateien hochgeladen haben.']]);}get VALIDATION_ERROR_SUMMARY_MAXDATE(){cov_2dv74gwmr().f[37]++;cov_2dv74gwmr().s[91]++;return new Map([['de','Feld "{{FIELD}}" muss älter oder gleich {{MAXDATE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MAXTIME(){cov_2dv74gwmr().f[38]++;cov_2dv74gwmr().s[92]++;return new Map([['de','Feld "{{FIELD}}" muss älter oder gleich {{MAXTIME}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MAXVALUE(){cov_2dv74gwmr().f[39]++;cov_2dv74gwmr().s[93]++;return new Map([['de','Wert darf nicht grösser als {{MAXVALUE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINDATE(){cov_2dv74gwmr().f[40]++;cov_2dv74gwmr().s[94]++;return new Map([['de','Feld "{{FIELD}}" muss neuer oder gleich {{MINDATE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINTEXTLENGTH(){cov_2dv74gwmr().f[41]++;cov_2dv74gwmr().s[95]++;return new Map([['de','Feld "{{FIELD}}" erfordert min. {{MINTEXTLENGTH}} Zeichen.']]);}get VALIDATION_ERROR_SUMMARY_MINTIME(){cov_2dv74gwmr().f[42]++;cov_2dv74gwmr().s[96]++;return new Map([['de','Feld "{{FIELD}}" muss neuer oder gleich {{MINTIME}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MINVALUE(){cov_2dv74gwmr().f[43]++;cov_2dv74gwmr().s[97]++;return new Map([['de','Feld "{{FIELD}}" darf nicht kleiner als {{MINVALUE}} sein.']]);}get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIRED(){cov_2dv74gwmr().f[44]++;cov_2dv74gwmr().s[98]++;return new Map([['de','Feld "{{FIELD}}" muss alle Sprachen erfasst haben.']]);}get VALIDATION_ERROR_SUMMARY_MULTILANGUAGEREQUIREDANY(){cov_2dv74gwmr().f[45]++;cov_2dv74gwmr().s[99]++;return new Map([['de','Feld "{{FIELD}}" muss min. 1 Sprache erfasst haben.']]);}get VALIDATION_ERROR_SUMMARY_PATTERN(){cov_2dv74gwmr().f[46]++;cov_2dv74gwmr().s[100]++;return new Map([['de','Feld "{{FIELD}}" entspricht nicht der Format Vorlage.']]);}get VALIDATION_ERROR_SUMMARY_REQUIRED(){cov_2dv74gwmr().f[47]++;cov_2dv74gwmr().s[101]++;return new Map([['de','Feld "{{FIELD}}" ist erforderlich.']]);}// #endregion Protected Getters And Setters
25
30
  // #region Public Methods
26
31
  /**
27
32
  * Die Methode ergibt die selecte Sprache (string) anhand von Key und Params
@@ -32,9 +37,5 @@ cov_2dv74gwmr().s[106]++;if(!this.data.has(language)){cov_2dv74gwmr().b[1][0]++;
32
37
  * Die Funktion setzt die default Sprache auf DE, falls die Sprach-Setzung nicht möglich ist.
33
38
  */GetFallbackLanguage(){cov_2dv74gwmr().f[50]++;cov_2dv74gwmr().s[123]++;return'de';}/**
34
39
  * Die Funktion ergibt die ausgewählte Sprache.
35
- */GetLanguage(){cov_2dv74gwmr().f[51]++;const language=(cov_2dv74gwmr().s[124]++,navigator.language);cov_2dv74gwmr().s[125]++;if(language.indexOf('-')>=0){cov_2dv74gwmr().b[5][0]++;cov_2dv74gwmr().s[126]++;return language.split('-')[0];}else{cov_2dv74gwmr().b[5][1]++;cov_2dv74gwmr().s[127]++;return language;}}}cov_2dv74gwmr().s[128]++;SacDefaultLocalisationService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,deps:[{token:SACVALIDATIONKEY_SERVICE}],target:i0.ɵɵFactoryTarget.Injectable});cov_2dv74gwmr().s[129]++;SacDefaultLocalisationService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,providedIn:'root'});cov_2dv74gwmr().s[130]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}],ctorParameters:function(){cov_2dv74gwmr().f[52]++;cov_2dv74gwmr().s[131]++;return[{type:undefined,decorators:[{type:Inject,args:[SACVALIDATIONKEY_SERVICE]}]}];}});// #endregion Classes
36
- // #region Variables
37
- /**
38
- * injection token for localisation service
39
- */export const SACLOCALISATION_SERVICE=(cov_2dv74gwmr().s[132]++,new InjectionToken('SacLocalisationService'));//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvc2VydmljZXMvc2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdkUsa0JBQWtCO0FBRWxCOztLQUVLO0FBRUwsTUFBTSxPQUFnQiw4QkFBOEI7OzJIQUE5Qiw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQUQxQixNQUFNOzJGQUNWLDhCQUE4QjtrQkFEbkQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBa0hsQzs7S0FFSztBQUVMLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSw4QkFBOEI7SUFXL0Usd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7U0FFSztJQUNMLFlBRVUsb0JBQThDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBRkEseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQW5CeEQscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ksU0FBSSxHQUFxQyxJQUFJLEdBQUcsRUFHcEQsQ0FBQztRQWVGLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQWtCLENBQUMsQ0FBQztRQUUvQyxhQUFhO1FBQ2IsSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLHVCQUF1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RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNoRCxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLHNCQUFzQixFQUMzQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUN4QyxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLDZCQUE2QixFQUNsRCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNoRCxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLHNCQUFzQixFQUMzQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUN4QyxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLDZCQUE2QixFQUNsRCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNoRCxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLHNCQUFzQixFQUMzQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUN4QyxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUk7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDO2FBQ1QsR0FBRyxDQUNGLG9CQUFvQixDQUFDLDZCQUE2QixFQUNsRCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUNoRCxDQUFDO1FBQ0osSUFBSSxDQUFDLElB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QyxRQUFRLENBQUM7UUFFNUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7MEhBdG9CVSw2QkFBNkIsa0JBbUI5Qix3QkFBd0I7OEhBbkJ2Qiw2QkFBNkIsY0FEaEIsTUFBTTsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBb0I3QixNQUFNOzJCQUFDLHdCQUF3Qjs7QUF3bkJwQyxxQkFBcUI7QUFFckIsb0JBQW9CO0FBRXBCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQ2xDLElBQUksY0FBYyxDQUFpQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XHJcbmltcG9ydCB7IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlJztcclxuaW1wb3J0IHsgSW50ZXJwb2xhdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9pbnRlcnBvbGF0aW9uJztcclxuaW1wb3J0IHsgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIH0gZnJvbSAnLi9zYWMtdmFsaWRhdGlvbmtleS5zZXJ2aWNlJztcclxuXHJcbi8vICNyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLyoqXHJcbiAqIGFic3RyYWN0IGNsYXNzIGZvciBsb2NhbGlzYXRpb24gaW4gY29tcG9uZW50c1xyXG4gKiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RMb2NhbGlzYXRpb25TZXJ2aWNlXHJcbiAgaW1wbGVtZW50cyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZVxyXG57XHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgQWJzdHJhY3QgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IENPTkZJUk1fQlVUVE9OX05PKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBDT05GSVJNX0JVVFRPTl9ZRVMoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRklMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGT0xERVIoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0RFTEVURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfR1JJRF9GSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9HUklEX1NJWkUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX05FV0ZPTERFUigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfTk9fRklMRVMoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX1JFRlJFU0goKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgUEFHSU5HX1BBR0VFTlRSSUVTVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgUEFHSU5HX1BBR0VPRlRFWFQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9ESUFMT0dUSVRMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX09LKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBVUExPQURfQlVUVE9OX0JST1dTRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVVBMT0FEX0JVVFRPTl9VUExPQUQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFVQTE9BRF9OT19GSUxFX1NFTEVDVEVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX0VNQUlMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01BWERBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhWQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5EQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkxFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9GSUxFU01JTigpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWERBVEUoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhUSU1FKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5EQVRFKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOTEVOR1RIKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVElNRSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTigpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVEKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIEFic3RyYWN0IEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSDDvGJlcnNldHp0IGRlbiBlaW5nZWdlYmVuZW4gV29ydC9CZWdyaWZmLiBWZXJsYW5ndCBrZXkgdW5kIG9wdGlvbmVsbCBwYXJhbXNcclxuICAgKi9cclxuICBwdWJsaWMgYWJzdHJhY3QgR2V0U3RyaW5nKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEFic3RyYWN0IE1ldGhvZHNcclxufVxyXG5cclxuLyoqXHJcbiAqIGRlZmF1bHQgbG9jYWxpc2F0aW9uIHNlcnZpY2VcclxuICogKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIGV4dGVuZHMgU2FjQWJzdHJhY3RMb2NhbGlzYXRpb25TZXJ2aWNlIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogTGFuZ3VhZ2UgUmVzb3VyY2VzIGbDvHIgQ29udHJvbHMgTGlicmFyeVxyXG4gICAqL1xyXG4gIHB1YmxpYyBkYXRhOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PiA9IG5ldyBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBNYXA8c3RyaW5nLCBzdHJpbmc+XHJcbiAgPigpO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UpXHJcbiAgICBwcml2YXRlIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgLy8gU2V0IExhbmd1YWdlc1xyXG4gICAgdGhpcy5kYXRhLnNldCgnZGUnLCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpKTtcclxuXHJcbiAgICAvLyBWYWxpZGF0aW9uXHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVELmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNaW5WYWx1ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5WYWx1ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5WQUxVRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUGF0dGVybixcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfUEFUVEVSTi5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVBhdHRlcm4sXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTi5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4VmFsdWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4VmFsdWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckVtYWlsLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9FTUFJTC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeUVtYWlsLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0VNQUlMLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNaW5MZW5ndGgsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTkxFTkdUSC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pbkxlbmd0aCxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5MRU5HVEguZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pbkRhdGUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTkRBVEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5EYXRlLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTkRBVEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heERhdGUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWERBVEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhEYXRlLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWERBVEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pblRpbWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTlRJTUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5UaW1lLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRJTUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heFRpbWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWFRJTUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhUaW1lLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0LFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9EQVRFVElNRUZPUk1BVC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeURhdGV0aW1lRm9ybWF0LFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0RBVEVUSU1FRk9STUFULmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JGaWxlc01pbixcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfRklMRVNNSU4uZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlGaWxlc01pbixcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9GSUxFU01JTi5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55LFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnksXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNdWx0aWxhbmd1YWdlUmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZCxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRUQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gR3JpZCBDb21wb25lbnRcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nUGFnZU9mLCB0aGlzLlBBR0lOR19QQUdFT0ZURVhULmdldCgnZGUnKSk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlBhZ2luZ0VudHJpZXMsXHJcbiAgICAgICAgdGhpcy5QQUdJTkdfUEFHRUVOVFJJRVNURVhULmdldCgnZGUnKVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIFVwbG9hZCBDb21wb25lbnRcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVXBsb2FkTm9GaWxlc1NlbGVjdGVkLFxyXG4gICAgICAgIHRoaXMuVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvblVwbG9hZCxcclxuICAgICAgICB0aGlzLlVQTE9BRF9CVVRUT05fVVBMT0FELmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWRCdXR0b25Ccm93c2UsXHJcbiAgICAgICAgdGhpcy5VUExPQURfQlVUVE9OX0JST1dTRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBUaW55TUNFIENvbXBvbmVudFxyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5UaW55TWNlRmlsZXNlbGVjdE9rLFxyXG4gICAgICAgIHRoaXMuVElOWU1DRV9GSUxFU0VMRUNUX09LLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5UaW55TWNlRmlsZXNlbGVjdENhbmNlbCxcclxuICAgICAgICB0aGlzLlRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0RGlhbG9ndGl0bGUsXHJcbiAgICAgICAgdGhpcy5USU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQ29uZmlybSBEaWFsb2cgQ29tcG9uZW50XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkNvbmZpcm1EZWZhdWx0QnV0dG9uWWVzLFxyXG4gICAgICAgIHRoaXMuQ09ORklSTV9CVVRUT05fWUVTLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5Db25maXJtRGVmYXVsdEJ1dHRvbk5vLFxyXG4gICAgICAgIHRoaXMuQ09ORklSTV9CVVRUT05fTk8uZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQnJvd3NlciBDb21wb25lbnRcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkTm9GaWxlcyxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX05PX0ZJTEVTLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRGaWxlbmFtZSxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0dSSURfRklMRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkU2l6ZSxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0dSSURfU0laRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25VcGxvYWQsXHJcbiAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9VUExPQUQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uTmV3Rm9sZGVyLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfTkVXRk9MREVSLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvblJlZnJlc2gsXHJcbiAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9SRUZSRVNILmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvbkRlbGV0ZSxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0RFTEVURS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckNvbmZpcm1UZXh0RGVsZXRlRm9sZGVyLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGT0xERVIuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZpbGUsXHJcbiAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZJTEUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gRU5cclxuICAgIHRoaXMuZGF0YS5zZXQoJ2VuJywgbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIHByb3RlY3RlZCBnZXQgQ09ORklSTV9CVVRUT05fTk8oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTmVpbiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IENPTkZJUk1fQlVUVE9OX1lFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdKYSddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRklMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdTb2xsIGRpZSBEYXRlaSBnZWzDtnNjaHQgd2VyZGVuPyddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdTb2xsIGRlciBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbj8nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9ERUxFVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTMO2c2NoZW4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9HUklEX0ZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRGF0ZWluYW1lJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfR1JJRF9TSVpFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0dyw7Zzc2UnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9ORVdGT0xERVIoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTmV1ZXIgT3JkbmVyJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfTk9fRklMRVMoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnS2VpbmUgRGF0ZWllbiB2b3JoYW5kZW4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9SRUZSRVNIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0FrdHVhbGlzaWVyZW4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9VUExPQUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0xlZ2VuIFNpZSBEYXRlaWVuIGhpZXIgYWIgdW0gU2llIGhvY2h6dWxhZGVuJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgUEFHSU5HX1BBR0VFTlRSSUVTVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdFaW50csOkZ2UgcHJvIFNlaXRlJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgUEFHSU5HX1BBR0VPRlRFWFQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ1NlaXRlIHt7Q1VSUkVOVFBBR0V9fSB2b24ge3tUT1RBTFBBR0VTfX0nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0FiYnJlY2hlbiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9ESUFMT0dUSVRMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdEYXRlaSBhdXN3w6RobGVuJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX09LKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ09LJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVVBMT0FEX0JVVFRPTl9CUk9XU0UoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnQnJvd3NlLi4uJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVVBMT0FEX0JVVFRPTl9VUExPQUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnVXBsb2FkJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnS2VpbmUgRGF0ZWkgYXVzZ2V3w6RobHQnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgaXN0IGtlaW4gZ8O8bHRpZ2VzIERhdHVtLiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBpc3Qga2VpbmUgRS1NYWlsIEFkcmVzc2UnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdFcyBtw7xzc2VuIG1pbi4ge3tNSU5GSUxFU319IERhdGVpZW4gaG9jaGdlbGFkZW4gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01BWERBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhEQVRFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhUSU1FfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZGFyZiBuaWNodCBncsO2c3NlciBhbHMge3tNQVhWQUxVRX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5EQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5EQVRFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkxFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBlcmZvcmRlcnQgbWluLiB7e01JTkxFTkdUSH19IFplaWNoZW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5USU1FfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdXZXJ0IGRhcmYgbmljaHQga2xlaW5lciBhbHMge3tNSU5WQUxVRX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0VzIG3DvHNzZW4gYWxsZSBTcHJhY2hlbiBlcmZhc3N0IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0VzIG11c3MgbWluLiAxIFNwcmFjaGUgZXJmYXNzdCBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnV2VydCBlbnRzcHJpY2h0IG5pY2h0IGRlciBGb3JtYXQgVm9ybGFnZS4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgaXN0IGVyZm9yZGVybGljaC4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3Qga2VpbiBnw7xsdGlnZXMgRGF0dW0uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0VNQUlMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgaXN0IGtlaW5lIEUtTWFpbCBBZHJlc3NlJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgW1xyXG4gICAgICAgICdkZScsXHJcbiAgICAgICAgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIG1pbi4ge3tNSU5GSUxFU319IERhdGVpZW4gaG9jaGdlbGFkZW4gaGFiZW4uJyxcclxuICAgICAgXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3Mgw6RsdGVyIG9kZXIgZ2xlaWNoIHt7TUFYREFURX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWFRJTUV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhWQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnV2VydCBkYXJmIG5pY2h0IGdyw7Zzc2VyIGFscyB7e01BWFZBTFVFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5EQVRFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOTEVOR1RIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZXJmb3JkZXJ0IG1pbi4ge3tNSU5MRU5HVEh9fSBaZWljaGVuLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTlRJTUV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5WQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGRhcmYgbmljaHQga2xlaW5lciBhbHMge3tNSU5WQUxVRX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgYWxsZSBTcHJhY2hlbiBlcmZhc3N0IGhhYmVuLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIG1pbi4gMSBTcHJhY2hlIGVyZmFzc3QgaGFiZW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1BBVFRFUk4oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBlbnRzcHJpY2h0IG5pY2h0IGRlciBGb3JtYXQgVm9ybGFnZS4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUkVRVUlSRUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3QgZXJmb3JkZXJsaWNoLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZXJnaWJ0IGRpZSBzZWxlY3RlIFNwcmFjaGUgKHN0cmluZykgIGFuaGFuZCB2b24gS2V5IHVuZCBQYXJhbXNcclxuICAgKi9cclxuICBwdWJsaWMgR2V0U3RyaW5nKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGxldCBsYW5ndWFnZTogc3RyaW5nID0gdGhpcy5HZXRMYW5ndWFnZSgpO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLmRhdGEuaGFzKGxhbmd1YWdlKSkge1xyXG4gICAgICAgIGxhbmd1YWdlID0gdGhpcy5HZXRGYWxsYmFja0xhbmd1YWdlKCk7XHJcblxyXG4gICAgICAgIC8vIFJldHVybiBLZXkgaWYgbm8gTGFuZ3VhZ2UgZXhpc3RzXHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEuaGFzKGxhbmd1YWdlKSkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChrZXkpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmRhdGEuZ2V0KGxhbmd1YWdlKS5oYXMoa2V5KSkge1xyXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5kYXRhLmdldChsYW5ndWFnZSkuZ2V0KGtleSk7XHJcbiAgICAgICAgaWYgKHBhcmFtcyAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcyAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgZm9ybWF0dGVyOiBJbnRlcnBvbGF0aW9uID0gbmV3IEludGVycG9sYXRpb24oKTtcclxuICAgICAgICAgIG9ic2VydmVyLm5leHQoZm9ybWF0dGVyLmludGVycG9sYXRlU3RyaW5nKHJlc291cmNlLCBwYXJhbXMpKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzb3VyY2UpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChrZXkpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIEZ1bmt0aW9uIHNldHp0IGRpZSBkZWZhdWx0IFNwcmFjaGUgYXVmIERFLCBmYWxscyBkaWUgU3ByYWNoLVNldHp1bmcgbmljaHQgbcO2Z2xpY2ggaXN0LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgR2V0RmFsbGJhY2tMYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdkZSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgRnVua3Rpb24gZXJnaWJ0IGRpZSBhdXNnZXfDpGhsdGUgU3ByYWNoZS5cclxuICAgKi9cclxuICBwcml2YXRlIEdldExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYW5ndWFnZTogc3RyaW5nID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG5cclxuICAgIGlmIChsYW5ndWFnZS5pbmRleE9mKCctJykgPj0gMCkge1xyXG4gICAgICByZXR1cm4gbGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBsYW5ndWFnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuXHJcbi8vICNlbmRyZWdpb24gQ2xhc3Nlc1xyXG5cclxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcclxuXHJcbi8qKlxyXG4gKiBpbmplY3Rpb24gdG9rZW4gZm9yIGxvY2FsaXNhdGlvbiBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UgPVxyXG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2U+KCdTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJyk7XHJcblxyXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xyXG4iXX0=
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmplY3QiLCJJbmplY3RhYmxlIiwiSW5qZWN0aW9uVG9rZW4iLCJPYnNlcnZhYmxlIiwiSW50ZXJwb2xhdGlvbiIsIlNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSIsIlNhY0Fic3RyYWN0TG9jYWxpc2F0aW9uU2VydmljZSIsImRlcHMiLCJ0YXJnZXQiLCJpMCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiY292XzJkdjc0Z3dtciIsInMiLCJwcm92aWRlZEluIiwiZGVjb3JhdG9ycyIsIlNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIiwiY29uc3RydWN0b3IiLCJ2YWxpZGF0aW9uS2V5U2VydmljZSIsImYiLCJkYXRhIiwiTWFwIiwic2V0IiwiZ2V0IiwiVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQiLCJWQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVEIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVEIiwiVmFsaWRhdGlvbkVycm9yTWluVmFsdWUiLCJWQUxJREFUSU9OX0VSUk9SX01JTlZBTFVFIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pblZhbHVlIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFIiwiVmFsaWRhdGlvbkVycm9yUGF0dGVybiIsIlZBTElEQVRJT05fRVJST1JfUEFUVEVSTiIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlQYXR0ZXJuIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1BBVFRFUk4iLCJWYWxpZGF0aW9uRXJyb3JNYXhWYWx1ZSIsIlZBTElEQVRJT05fRVJST1JfTUFYVkFMVUUiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4VmFsdWUiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUiLCJWYWxpZGF0aW9uRXJyb3JFbWFpbCIsIlZBTElEQVRJT05fRVJST1JfRU1BSUwiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RW1haWwiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwiLCJWYWxpZGF0aW9uRXJyb3JNaW5MZW5ndGgiLCJWQUxJREFUSU9OX0VSUk9SX01JTkxFTkdUSCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5MZW5ndGgiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOTEVOR1RIIiwiVmFsaWRhdGlvbkVycm9yTWluRGF0ZSIsIlZBTElEQVRJT05fRVJST1JfTUlOREFURSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5EYXRlIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTkRBVEUiLCJWYWxpZGF0aW9uRXJyb3JNYXhEYXRlIiwiVkFMSURBVElPTl9FUlJPUl9NQVhEQVRFIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heERhdGUiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURSIsIlZhbGlkYXRpb25FcnJvck1pblRpbWUiLCJWQUxJREFUSU9OX0VSUk9SX01JTlRJTUUiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluVGltZSIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5USU1FIiwiVmFsaWRhdGlvbkVycm9yTWF4VGltZSIsIlZBTElEQVRJT05fRVJST1JfTUFYVElNRSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhUaW1lIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUiLCJWYWxpZGF0aW9uRXJyb3JEYXRldGltZUZvcm1hdCIsIlZBTElEQVRJT05fRVJST1JfREFURVRJTUVGT1JNQVQiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQiLCJWYWxpZGF0aW9uRXJyb3JGaWxlc01pbiIsIlZBTElEQVRJT05fRVJST1JfRklMRVNNSU4iLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RmlsZXNNaW4iLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRklMRVNNSU4iLCJWYWxpZGF0aW9uRXJyb3JNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkiLCJWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnkiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZIiwiVmFsaWRhdGlvbkVycm9yTXVsdGlsYW5ndWFnZVJlcXVpcmVkIiwiVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRUQiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCIsIlBhZ2luZ1BhZ2VPZiIsIlBBR0lOR19QQUdFT0ZURVhUIiwiUGFnaW5nRW50cmllcyIsIlBBR0lOR19QQUdFRU5UUklFU1RFWFQiLCJVcGxvYWROb0ZpbGVzU2VsZWN0ZWQiLCJVUExPQURfTk9fRklMRV9TRUxFQ1RFRCIsIlVwbG9hZEJ1dHRvblVwbG9hZCIsIlVQTE9BRF9CVVRUT05fVVBMT0FEIiwiVXBsb2FkQnV0dG9uQnJvd3NlIiwiVVBMT0FEX0JVVFRPTl9CUk9XU0UiLCJUaW55TWNlRmlsZXNlbGVjdE9rIiwiVElOWU1DRV9GSUxFU0VMRUNUX09LIiwiVGlueU1jZUZpbGVzZWxlY3RDYW5jZWwiLCJUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMIiwiVGlueU1jZUZpbGVzZWxlY3REaWFsb2d0aXRsZSIsIlRJTllNQ0VfRklMRVNFTEVDVF9ESUFMT0dUSVRMRSIsIkNvbmZpcm1EZWZhdWx0QnV0dG9uWWVzIiwiQ09ORklSTV9CVVRUT05fWUVTIiwiQ29uZmlybURlZmF1bHRCdXR0b25ObyIsIkNPTkZJUk1fQlVUVE9OX05PIiwiRmlsZWJyb3dzZXJHcmlkTm9GaWxlcyIsIkZJTEVCUk9XU0VSX05PX0ZJTEVTIiwiRmlsZWJyb3dzZXJHcmlkRmlsZW5hbWUiLCJGSUxFQlJPV1NFUl9HUklEX0ZJTEUiLCJGaWxlYnJvd3NlckdyaWRTaXplIiwiRklMRUJST1dTRVJfR1JJRF9TSVpFIiwiRmlsZWJyb3dzZXJCdXR0b25VcGxvYWQiLCJGSUxFQlJPV1NFUl9VUExPQUQiLCJGaWxlYnJvd3NlckJ1dHRvbk5ld0ZvbGRlciIsIkZJTEVCUk9XU0VSX05FV0ZPTERFUiIsIkZpbGVicm93c2VyQnV0dG9uUmVmcmVzaCIsIkZJTEVCUk9XU0VSX1JFRlJFU0giLCJGaWxlYnJvd3NlckJ1dHRvbkRlbGV0ZSIsIkZJTEVCUk9XU0VSX0RFTEVURSIsIkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGb2xkZXIiLCJGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUiIsIkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGaWxlIiwiRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFIiwiR2V0U3RyaW5nIiwia2V5IiwicGFyYW1zIiwib2JzZXJ2ZXIiLCJsYW5ndWFnZSIsIkdldExhbmd1YWdlIiwiaGFzIiwiYiIsIkdldEZhbGxiYWNrTGFuZ3VhZ2UiLCJuZXh0IiwiY29tcGxldGUiLCJyZXNvdXJjZSIsInVuZGVmaW5lZCIsImZvcm1hdHRlciIsImludGVycG9sYXRlU3RyaW5nIiwibmF2aWdhdG9yIiwiaW5kZXhPZiIsInNwbGl0IiwidG9rZW4iLCJTQUNMT0NBTElTQVRJT05fU0VSVklDRSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3NlcnZpY2VzL3NhYy1sb2NhbGlzYXRpb24uc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnRlcnBvbGF0aW9uIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2ludGVycG9sYXRpb24nO1xyXG5pbXBvcnQgeyBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UgfSBmcm9tICcuL3NhYy12YWxpZGF0aW9ua2V5LnNlcnZpY2UnO1xyXG5cclxuLy8gI3JlZ2lvbiBDbGFzc2VzXHJcblxyXG4vKipcclxuICogYWJzdHJhY3QgY2xhc3MgZm9yIGxvY2FsaXNhdGlvbiBpbiBjb21wb25lbnRzXHJcbiAqICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2VcclxuICBpbXBsZW1lbnRzIElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlXHJcbntcclxuICAvLyAjcmVnaW9uIFByb3RlY3RlZCBBYnN0cmFjdCBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgQ09ORklSTV9CVVRUT05fTk8oKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IENPTkZJUk1fQlVUVE9OX1lFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUigpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfREVMRVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9HUklEX0ZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0dSSURfU0laRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfTkVXRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9OT19GSUxFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfUkVGUkVTSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfVVBMT0FEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBQQUdJTkdfUEFHRUVOVFJJRVNURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBQQUdJTkdfUEFHRU9GVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0NBTkNFTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfT0soKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFVQTE9BRF9CVVRUT05fQlJPV1NFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBVUExPQURfQlVUVE9OX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfRklMRVNNSU4oKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhUSU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkRBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOTEVOR1RIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9QQVRURVJOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhWQUxVRSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+O1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTkRBVEUoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5MRU5HVEgoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5USU1FKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVkFMVUUoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRUQoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9QQVRURVJOKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID47XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUkVRVUlSRUQoKTogTWFwPFxyXG4gICAgc3RyaW5nLFxyXG4gICAgc3RyaW5nXHJcbiAgPjtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgQWJzdHJhY3QgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBBYnN0cmFjdCBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIMO8YmVyc2V0enQgZGVuIGVpbmdlZ2ViZW5lbiBXb3J0L0JlZ3JpZmYuIFZlcmxhbmd0IGtleSB1bmQgb3B0aW9uZWxsIHBhcmFtc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCBHZXRTdHJpbmcoa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgQWJzdHJhY3QgTWV0aG9kc1xyXG59XHJcblxyXG4vKipcclxuICogZGVmYXVsdCBsb2NhbGlzYXRpb24gc2VydmljZVxyXG4gKiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2Uge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBMYW5ndWFnZSBSZXNvdXJjZXMgZsO8ciBDb250cm9scyBMaWJyYXJ5XHJcbiAgICovXHJcbiAgcHVibGljIGRhdGE6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIHN0cmluZz4+ID0gbmV3IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIE1hcDxzdHJpbmcsIHN0cmluZz5cclxuICA+KCk7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSlcclxuICAgIHByaXZhdGUgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICAvLyBTZXQgTGFuZ3VhZ2VzXHJcbiAgICB0aGlzLmRhdGEuc2V0KCdkZScsIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xyXG5cclxuICAgIC8vIFZhbGlkYXRpb25cclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVELmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUkVRVUlSRUQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pblZhbHVlLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NSU5WQUxVRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pblZhbHVlLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JQYXR0ZXJuLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9QQVRURVJOLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UGF0dGVybixcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9QQVRURVJOLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNYXhWYWx1ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUFYVkFMVUUuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhWYWx1ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhWQUxVRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRW1haWwsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX0VNQUlMLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RW1haWwsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pbkxlbmd0aCxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOTEVOR1RILmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluTGVuZ3RoLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTkxFTkdUSC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluRGF0ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOREFURS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pbkRhdGUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOREFURS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4RGF0ZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUFYREFURS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heERhdGUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluVGltZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOVElNRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pblRpbWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVElNRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4VGltZSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTUFYVElNRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heFRpbWUsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVElNRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX0RBVEVUSU1FRk9STUFULmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQsXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckZpbGVzTWluLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9GSUxFU01JTi5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeUZpbGVzTWluLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnksXHJcbiAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZCxcclxuICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVELmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TXVsdGlsYW5ndWFnZVJlcXVpcmVkLFxyXG4gICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBHcmlkIENvbXBvbmVudFxyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5QYWdpbmdQYWdlT2YsIHRoaXMuUEFHSU5HX1BBR0VPRlRFWFQuZ2V0KCdkZScpKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nRW50cmllcyxcclxuICAgICAgICB0aGlzLlBBR0lOR19QQUdFRU5UUklFU1RFWFQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gVXBsb2FkIENvbXBvbmVudFxyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWROb0ZpbGVzU2VsZWN0ZWQsXHJcbiAgICAgICAgdGhpcy5VUExPQURfTk9fRklMRV9TRUxFQ1RFRC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVXBsb2FkQnV0dG9uVXBsb2FkLFxyXG4gICAgICAgIHRoaXMuVVBMT0FEX0JVVFRPTl9VUExPQUQuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvbkJyb3dzZSxcclxuICAgICAgICB0aGlzLlVQTE9BRF9CVVRUT05fQlJPV1NFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIFRpbnlNQ0UgQ29tcG9uZW50XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0T2ssXHJcbiAgICAgICAgdGhpcy5USU5ZTUNFX0ZJTEVTRUxFQ1RfT0suZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0Q2FuY2VsLFxyXG4gICAgICAgIHRoaXMuVElOWU1DRV9GSUxFU0VMRUNUX0NBTkNFTC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVGlueU1jZUZpbGVzZWxlY3REaWFsb2d0aXRsZSxcclxuICAgICAgICB0aGlzLlRJTllNQ0VfRklMRVNFTEVDVF9ESUFMT0dUSVRMRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBDb25maXJtIERpYWxvZyBDb21wb25lbnRcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuQ29uZmlybURlZmF1bHRCdXR0b25ZZXMsXHJcbiAgICAgICAgdGhpcy5DT05GSVJNX0JVVFRPTl9ZRVMuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkNvbmZpcm1EZWZhdWx0QnV0dG9uTm8sXHJcbiAgICAgICAgdGhpcy5DT05GSVJNX0JVVFRPTl9OTy5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBCcm93c2VyIENvbXBvbmVudFxyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWROb0ZpbGVzLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfTk9fRklMRVMuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyR3JpZEZpbGVuYW1lLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfR1JJRF9GSUxFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRTaXplLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfR1JJRF9TSVpFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvblVwbG9hZCxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX1VQTE9BRC5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25OZXdGb2xkZXIsXHJcbiAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9ORVdGT0xERVIuZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uUmVmcmVzaCxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX1JFRlJFU0guZ2V0KCdkZScpXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmRhdGFcclxuICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAuc2V0KFxyXG4gICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlLFxyXG4gICAgICAgIHRoaXMuRklMRUJST1dTRVJfREVMRVRFLmdldCgnZGUnKVxyXG4gICAgICApO1xyXG4gICAgdGhpcy5kYXRhXHJcbiAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgLnNldChcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGb2xkZXIsXHJcbiAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUi5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuICAgIHRoaXMuZGF0YVxyXG4gICAgICAuZ2V0KCdkZScpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckNvbmZpcm1UZXh0RGVsZXRlRmlsZSxcclxuICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRklMRS5nZXQoJ2RlJylcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBFTlxyXG4gICAgdGhpcy5kYXRhLnNldCgnZW4nLCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgcHJvdGVjdGVkIGdldCBDT05GSVJNX0JVVFRPTl9OTygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdOZWluJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgQ09ORklSTV9CVVRUT05fWUVTKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0phJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ1NvbGwgZGllIERhdGVpIGdlbMO2c2NodCB3ZXJkZW4/J11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGT0xERVIoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ1NvbGwgZGVyIE9yZG5lciBnZWzDtnNjaHQgd2VyZGVuPyddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0RFTEVURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdMw7ZzY2hlbiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0dSSURfRklMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdEYXRlaW5hbWUnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9HUklEX1NJWkUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnR3LDtnNzZSddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX05FV0ZPTERFUigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdOZXVlciBPcmRuZXInXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9OT19GSUxFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdLZWluZSBEYXRlaWVuIHZvcmhhbmRlbiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX1JFRlJFU0goKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnQWt0dWFsaXNpZXJlbiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnTGVnZW4gU2llIERhdGVpZW4gaGllciBhYiB1bSBTaWUgaG9jaHp1bGFkZW4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBQQUdJTkdfUEFHRUVOVFJJRVNURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0VpbnRyw6RnZSBwcm8gU2VpdGUnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBQQUdJTkdfUEFHRU9GVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnU2VpdGUge3tDVVJSRU5UUEFHRX19IHZvbiB7e1RPVEFMUEFHRVN9fSddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnQWJicmVjaGVuJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0RhdGVpIGF1c3fDpGhsZW4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfT0soKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnT0snXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBVUExPQURfQlVUVE9OX0JST1dTRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdCcm93c2UuLi4nXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBVUExPQURfQlVUVE9OX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdVcGxvYWQnXV0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBVUExPQURfTk9fRklMRV9TRUxFQ1RFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdLZWluZSBEYXRlaSBhdXNnZXfDpGhsdCddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBpc3Qga2VpbiBnw7xsdGlnZXMgRGF0dW0uJ11dKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIGlzdCBrZWluZSBFLU1haWwgQWRyZXNzZSddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfRklMRVNNSU4oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0VzIG3DvHNzZW4gbWluLiB7e01JTkZJTEVTfX0gRGF0ZWllbiBob2NoZ2VsYWRlbiBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWERBVEV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWFRJTUV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBkYXJmIG5pY2h0IGdyw7Zzc2VyIGFscyB7e01BWFZBTFVFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkRBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTkRBVEV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOTEVOR1RIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIGVyZm9yZGVydCBtaW4uIHt7TUlOTEVOR1RIfX0gWmVpY2hlbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTlRJTUV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ1dlcnQgZGFyZiBuaWNodCBrbGVpbmVyIGFscyB7e01JTlZBTFVFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRXMgbcO8c3NlbiBhbGxlIFNwcmFjaGVuIGVyZmFzc3Qgc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRXMgbXVzcyBtaW4uIDEgU3ByYWNoZSBlcmZhc3N0IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9QQVRURVJOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdXZXJ0IGVudHNwcmljaHQgbmljaHQgZGVyIEZvcm1hdCBWb3JsYWdlLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfUkVRVUlSRUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBpc3QgZXJmb3JkZXJsaWNoLiddXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9EQVRFVElNRUZPUk1BVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGlzdCBrZWluIGfDvGx0aWdlcyBEYXR1bS4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3Qga2VpbmUgRS1NYWlsIEFkcmVzc2UnXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRklMRVNNSU4oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbXHJcbiAgICAgICAgJ2RlJyxcclxuICAgICAgICAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgbWluLiB7e01JTkZJTEVTfX0gRGF0ZWllbiBob2NoZ2VsYWRlbiBoYWJlbi4nLFxyXG4gICAgICBdLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhEQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhEQVRFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3Mgw6RsdGVyIG9kZXIgZ2xlaWNoIHt7TUFYVElNRX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdXZXJ0IGRhcmYgbmljaHQgZ3LDtnNzZXIgYWxzIHt7TUFYVkFMVUV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5EQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTkRBVEV9fSBzZWluLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5MRU5HVEgoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBlcmZvcmRlcnQgbWluLiB7e01JTkxFTkdUSH19IFplaWNoZW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xyXG4gICAgICBbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIG5ldWVyIG9kZXIgZ2xlaWNoIHt7TUlOVElNRX19IHNlaW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZGFyZiBuaWNodCBrbGVpbmVyIGFscyB7e01JTlZBTFVFfX0gc2Vpbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxcclxuICAgIHN0cmluZyxcclxuICAgIHN0cmluZ1xyXG4gID4ge1xyXG4gICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtcclxuICAgICAgWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBhbGxlIFNwcmFjaGVuIGVyZmFzc3QgaGFiZW4uJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8XHJcbiAgICBzdHJpbmcsXHJcbiAgICBzdHJpbmdcclxuICA+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgbWluLiAxIFNwcmFjaGUgZXJmYXNzdCBoYWJlbi4nXSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGVudHNwcmljaHQgbmljaHQgZGVyIEZvcm1hdCBWb3JsYWdlLiddLFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXHJcbiAgICAgIFsnZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGlzdCBlcmZvcmRlcmxpY2guJ10sXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBlcmdpYnQgZGllIHNlbGVjdGUgU3ByYWNoZSAoc3RyaW5nKSAgYW5oYW5kIHZvbiBLZXkgdW5kIFBhcmFtc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBHZXRTdHJpbmcoa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgbGV0IGxhbmd1YWdlOiBzdHJpbmcgPSB0aGlzLkdldExhbmd1YWdlKCk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuZGF0YS5oYXMobGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgbGFuZ3VhZ2UgPSB0aGlzLkdldEZhbGxiYWNrTGFuZ3VhZ2UoKTtcclxuXHJcbiAgICAgICAgLy8gUmV0dXJuIEtleSBpZiBubyBMYW5ndWFnZSBleGlzdHNcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YS5oYXMobGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KGtleSk7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuZGF0YS5nZXQobGFuZ3VhZ2UpLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSB0aGlzLmRhdGEuZ2V0KGxhbmd1YWdlKS5nZXQoa2V5KTtcclxuICAgICAgICBpZiAocGFyYW1zICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBjb25zdCBmb3JtYXR0ZXI6IEludGVycG9sYXRpb24gPSBuZXcgSW50ZXJwb2xhdGlvbigpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChmb3JtYXR0ZXIuaW50ZXJwb2xhdGVTdHJpbmcocmVzb3VyY2UsIHBhcmFtcykpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXNvdXJjZSk7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KGtleSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgRnVua3Rpb24gc2V0enQgZGllIGRlZmF1bHQgU3ByYWNoZSBhdWYgREUsIGZhbGxzIGRpZSBTcHJhY2gtU2V0enVuZyBuaWNodCBtw7ZnbGljaCBpc3QuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBHZXRGYWxsYmFja0xhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ2RlJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBGdW5rdGlvbiBlcmdpYnQgZGllIGF1c2dld8OkaGx0ZSBTcHJhY2hlLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgR2V0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlOiBzdHJpbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcblxyXG4gICAgaWYgKGxhbmd1YWdlLmluZGV4T2YoJy0nKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiBsYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGxhbmd1YWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBDbGFzc2VzXHJcblxyXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xyXG5cclxuLyoqXHJcbiAqIGluamVjdGlvbiB0b2tlbiBmb3IgbG9jYWxpc2F0aW9uIHNlcnZpY2VcclxuICovXHJcbmV4cG9ydCBjb25zdCBTQUNMT0NBTElTQVRJT05fU0VSVklDRSA9XHJcbiAgbmV3IEluamVjdGlvblRva2VuPFNhY0Fic3RyYWN0TG9jYWxpc2F0aW9uU2VydmljZT4oJ1NhY0xvY2FsaXNhdGlvblNlcnZpY2UnKTtcclxuXHJcbi8vICNlbmRyZWdpb24gVmFyaWFibGVzXHJcbiJdLCJtYXBwaW5ncyI6Ijt5RkFBQSxPQUFTQSxNQUFNLENBQUVDLFVBQVUsQ0FBRUMsY0FBYyxLQUFRLGVBQWUsQ0FDbEUsT0FBU0MsVUFBVSxLQUFRLE1BQU0sQ0FHakMsT0FBU0MsYUFBYSxLQUFRLDRCQUE0QixDQUMxRCxPQUFTQyx3QkFBd0IsS0FBUSw2QkFBNkIsQyxpQ0FFdEU7QUFFQTs7S0FJQSxNQUFNLE1BQWdCLENBQUFDLDhCQUE4QixFLHdJQUE5QkEsOEJBQThCLENBQUFDLElBQUEsSUFBQUMsTUFBQSxDQUFBQyxFQUFBLENBQUFDLGVBQUEsQ0FBQVQsVUFBQSxHQUFBVSxhQUFBLEdBQUFDLENBQUEsTSxxSEFBOUJOLDhCQUE4QixDQUFBTyxVQUFBLENBRDFCLE1BQU0sR0FBQUYsYUFBQSxHQUFBQyxDQUFBLE0sbUZBQ1ZOLDhCQUE4QixDQUFBUSxVQUFBLEcsS0FEbkRiLFVBQVUsQyxNQUFDLENBQUVZLFVBQVUsQ0FBRSxNQUFNLENBQUUsQyxLQWtIbEM7O0tBSUEsTUFBTSxNQUFPLENBQUFFLDZCQUE4QixRQUFRLENBQUFULDhCQUE4QixDQVcvRTtBQUVBO0FBRUE7O1NBR0FVLFlBRVVDLG9CQUE4QyxFQUFBTixhQUFBLEdBQUFPLENBQUEsTUFBQVAsYUFBQSxHQUFBQyxDQUFBLE1BRXRELEtBQUssRUFBRSxDQUFDRCxhQUFBLEdBQUFDLENBQUEsTUFGQSxLQUFBSyxvQkFBb0IsQ0FBcEJBLG9CQUFvQixDQW5COUI7QUFFQTs7V0FBQU4sYUFBQSxHQUFBQyxDQUFBLE1BR08sS0FBQU8sSUFBSSxDQUFxQyxHQUFJLENBQUFDLEdBQUcsRUFHcEQsQ0FlRDtBQUFBVCxhQUFBLEdBQUFDLENBQUEsTUFDQSxJQUFJLENBQUNPLElB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
40
+ */GetLanguage(){cov_2dv74gwmr().f[51]++;const language=(cov_2dv74gwmr().s[124]++,navigator.language);cov_2dv74gwmr().s[125]++;if(language.indexOf('-')>=0){cov_2dv74gwmr().b[5][0]++;cov_2dv74gwmr().s[126]++;return language.split('-')[0];}else{cov_2dv74gwmr().b[5][1]++;cov_2dv74gwmr().s[127]++;return language;}}}cov_2dv74gwmr().s[128]++;SacDefaultLocalisationService.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,deps:[{token:SACVALIDATIONKEY_SERVICE}],target:i0.ɵɵFactoryTarget.Injectable});cov_2dv74gwmr().s[129]++;SacDefaultLocalisationService.ɵprov=i0.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,providedIn:'root'});cov_2dv74gwmr().s[130]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"13.2.7",ngImport:i0,type:SacDefaultLocalisationService,decorators:[{type:Injectable,args:[{providedIn:'root'}]}],ctorParameters:function(){cov_2dv74gwmr().f[52]++;cov_2dv74gwmr().s[131]++;return[{type:undefined,decorators:[{type:Inject,args:[SACVALIDATIONKEY_SERVICE]}]}];}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvc2VydmljZXMvc2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFbEMsb0JBQW9CO0FBRXBCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQWlDLHdCQUF3QixDQUFDLENBQUM7QUFFcEgsdUJBQXVCO0FBRXZCLDJCQUEyQjtBQUUzQjs7S0FFSztBQUVMLE1BQU0sT0FBZ0IsOEJBQThCOzsySEFBOUIsOEJBQThCOytIQUE5Qiw4QkFBOEIsY0FEMUIsTUFBTTsyRkFDViw4QkFBOEI7a0JBRG5ELFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQThHbEM7O0tBRUs7QUFFTCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsOEJBQThCO0lBUTdFLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7O1NBRUs7SUFDTCxZQUVZLG9CQUE4QztRQUV0RCxLQUFLLEVBQUUsQ0FBQztRQUZBLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFoQjFELHFCQUFxQjtRQUVyQjs7V0FFRztRQUNJLFNBQUksR0FBcUMsSUFBSSxHQUFHLEVBQStCLENBQUM7UUFlbkYsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcs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UUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDSCxPQUFPLFFBQVEsQ0FBQztTQUNuQjtJQUNMLENBQUM7OzBIQXpaUSw2QkFBNkIsa0JBZ0IxQix3QkFBd0I7OEhBaEIzQiw2QkFBNkIsY0FEaEIsTUFBTTsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBaUJ6QixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XHJcbmltcG9ydCB7IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlJztcclxuaW1wb3J0IHsgSW50ZXJwb2xhdGlvbiB9IGZyb20gJy4uL3V0aWxpdGllcy9pbnRlcnBvbGF0aW9uJztcclxuaW1wb3J0IHsgU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIH0gZnJvbSAnLi9zYWMtdmFsaWRhdGlvbmtleS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xyXG5cclxuLyoqXHJcbiAqIGluamVjdGlvbiB0b2tlbiBmb3IgbG9jYWxpc2F0aW9uIHNlcnZpY2VcclxuICovXHJcbmV4cG9ydCBjb25zdCBTQUNMT0NBTElTQVRJT05fU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2U+KCdTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJyk7XHJcblxyXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xyXG5cclxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXHJcblxyXG4vKipcclxuICogYWJzdHJhY3QgY2xhc3MgZm9yIGxvY2FsaXNhdGlvbiBpbiBjb21wb25lbnRzXHJcbiAqICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBDT05GSVJNX0JVVFRPTl9OTygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgQ09ORklSTV9CVVRUT05fWUVTKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9ERUxFVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0dSSURfRklMRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfR1JJRF9TSVpFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9ORVdGT0xERVIoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX05PX0ZJTEVTKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9SRUZSRVNIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9VUExPQUQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFBBR0lOR19QQUdFRU5UUklFU1RFWFQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFBBR0lOR19QQUdFT0ZURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9PSygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVVBMT0FEX0JVVFRPTl9CUk9XU0UoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFVQTE9BRF9CVVRUT05fVVBMT0FEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBVUExPQURfTk9fRklMRV9TRUxFQ1RFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9EQVRFVElNRUZPUk1BVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9GSUxFU01JTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhEQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5URVhUTEVOR1RIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9QQVRURVJOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhWQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTkRBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5URVhUTEVOR1RIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpZSBNZXRob2RlIMO8YmVyc2V0enQgZGVuIGVpbmdlZ2ViZW5lbiBXb3J0L0JlZ3JpZmYuIFZlcmxhbmd0IGtleSB1bmQgb3B0aW9uZWxsIHBhcmFtc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0U3RyaW5nKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcblxyXG4vKipcclxuICogZGVmYXVsdCBsb2NhbGlzYXRpb24gc2VydmljZVxyXG4gKiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdExvY2FsaXNhdGlvblNlcnZpY2Uge1xyXG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMYW5ndWFnZSBSZXNvdXJjZXMgZsO8ciBDb250cm9scyBMaWJyYXJ5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkYXRhOiBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PiA9IG5ldyBNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBzdHJpbmc+PigpO1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBLb25zdHJ1a3RvclxyXG4gICAgICogKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoU0FDVkFMSURBVElPTktFWV9TRVJWSUNFKVxyXG4gICAgICAgIHByaXZhdGUgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgLy8gU2V0IExhbmd1YWdlc1xyXG4gICAgICAgIHRoaXMuZGF0YS5zZXQoJ2RlJywgbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSk7XHJcblxyXG4gICAgICAgIC8vIFZhbGlkYXRpb25cclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JSZXF1aXJlZCwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1JFUVVJUkVELmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UmVxdWlyZWQsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1JFUVVJUkVELmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluVmFsdWUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NSU5WQUxVRS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pblZhbHVlLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5WQUxVRS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclBhdHRlcm4sIHRoaXMuVkFMSURBVElPTl9FUlJPUl9QQVRURVJOLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UGF0dGVybiwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTi5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heFZhbHVlLCB0aGlzLlZBTElEQVRJT05fRVJST1JfTUFYVkFMVUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhWYWx1ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JFbWFpbCwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX0VNQUlMLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RW1haWwsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0VNQUlMLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNaW5UZXh0TGVuZ3RoLCB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOVEVYVExFTkdUSC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQoXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluVGV4dExlbmd0aCxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRFWFRMRU5HVEguZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluRGF0ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTkRBVEUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5EYXRlLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5EQVRFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4RGF0ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWERBVEUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhEYXRlLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhEQVRFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluVGltZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTlRJTUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5UaW1lLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5USU1FLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWF4VGltZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWFRJTUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNYXhUaW1lLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhUSU1FLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JEYXRldGltZUZvcm1hdCwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX0RBVEVUSU1FRk9STUFULmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdCxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0RBVEVUSU1FRk9STUFULmdldCgnZGUnKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvckZpbGVzTWluLCB0aGlzLlZBTElEQVRJT05fRVJST1JfRklMRVNNSU4uZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlGaWxlc01pbiwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRklMRVNNSU4uZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTXVsdGlsYW5ndWFnZVJlcXVpcmVkQW55LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWS5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWS5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTXVsdGlsYW5ndWFnZVJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gR3JpZCBDb21wb25lbnRcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5QYWdpbmdQYWdlT2YsIHRoaXMuUEFHSU5HX1BBR0VPRlRFWFQuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5QYWdpbmdFbnRyaWVzLCB0aGlzLlBBR0lOR19QQUdFRU5UUklFU1RFWFQuZ2V0KCdkZScpKTtcclxuXHJcbiAgICAgICAgLy8gVXBsb2FkIENvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZE5vRmlsZXNTZWxlY3RlZCwgdGhpcy5VUExPQURfTk9fRklMRV9TRUxFQ1RFRC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvblVwbG9hZCwgdGhpcy5VUExPQURfQlVUVE9OX1VQTE9BRC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlVwbG9hZEJ1dHRvbkJyb3dzZSwgdGhpcy5VUExPQURfQlVUVE9OX0JST1dTRS5nZXQoJ2RlJykpO1xyXG5cclxuICAgICAgICAvLyBUaW55TUNFIENvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0T2ssIHRoaXMuVElOWU1DRV9GSUxFU0VMRUNUX09LLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVGlueU1jZUZpbGVzZWxlY3RDYW5jZWwsIHRoaXMuVElOWU1DRV9GSUxFU0VMRUNUX0NBTkNFTC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVGlueU1jZUZpbGVzZWxlY3REaWFsb2d0aXRsZSwgdGhpcy5USU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUuZ2V0KCdkZScpKTtcclxuXHJcbiAgICAgICAgLy8gQ29uZmlybSBEaWFsb2cgQ29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuQ29uZmlybURlZmF1bHRCdXR0b25ZZXMsIHRoaXMuQ09ORklSTV9CVVRUT05fWUVTLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuQ29uZmlybURlZmF1bHRCdXR0b25ObywgdGhpcy5DT05GSVJNX0JVVFRPTl9OTy5nZXQoJ2RlJykpO1xyXG5cclxuICAgICAgICAvLyBCcm93c2VyIENvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyR3JpZE5vRmlsZXMsIHRoaXMuRklMRUJST1dTRVJfTk9fRklMRVMuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRGaWxlbmFtZSwgdGhpcy5GSUxFQlJPV1NFUl9HUklEX0ZJTEUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRTaXplLCB0aGlzLkZJTEVCUk9XU0VSX0dSSURfU0laRS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uVXBsb2FkLCB0aGlzLkZJTEVCUk9XU0VSX1VQTE9BRC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uTmV3Rm9sZGVyLCB0aGlzLkZJTEVCUk9XU0VSX05FV0ZPTERFUi5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uUmVmcmVzaCwgdGhpcy5GSUxFQlJPV1NFUl9SRUZSRVNILmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25EZWxldGUsIHRoaXMuRklMRUJST1dTRVJfREVMRVRFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZvbGRlcixcclxuICAgICAgICAgICAgICAgIHRoaXMuRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGT0xERVIuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZpbGUsXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRklMRS5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gRU5cclxuICAgICAgICAvLyB0aGlzLmRhdGEuc2V0KCdlbicsIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgQ09ORklSTV9CVVRUT05fTk8oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ05laW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgQ09ORklSTV9CVVRUT05fWUVTKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdKYSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ1NvbGwgZGllIERhdGVpIGdlbMO2c2NodCB3ZXJkZW4/J11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdTb2xsIGRlciBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbj8nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfREVMRVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdMw7ZzY2hlbiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9HUklEX0ZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0RhdGVpbmFtZSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9HUklEX1NJWkUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0dyw7Zzc2UnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfTkVXRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdOZXVlciBPcmRuZXInXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfTk9fRklMRVMoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0tlaW5lIERhdGVpZW4gdm9yaGFuZGVuJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX1JFRlJFU0goKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0FrdHVhbGlzaWVyZW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfVVBMT0FEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdMZWdlbiBTaWUgRGF0ZWllbiBoaWVyIGFiIHVtIFNpZSBob2NoenVsYWRlbiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBQQUdJTkdfUEFHRUVOVFJJRVNURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdFaW50csOkZ2UgcHJvIFNlaXRlJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFBBR0lOR19QQUdFT0ZURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdTZWl0ZSB7e0NVUlJFTlRQQUdFfX0gdm9uIHt7VE9UQUxQQUdFU319J11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0FiYnJlY2hlbiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0RhdGVpIGF1c3fDpGhsZW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX09LKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdPSyddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBVUExPQURfQlVUVE9OX0JST1dTRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnQnJvd3NlLi4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFVQTE9BRF9CVVRUT05fVVBMT0FEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdVcGxvYWQnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0tlaW5lIERhdGVpIGF1c2dld8OkaGx0J11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgaXN0IGtlaW4gZ8O8bHRpZ2VzIERhdHVtLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX0VNQUlMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIGlzdCBrZWluZSBFLU1haWwgQWRyZXNzZSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdFcyBtw7xzc2VuIG1pbi4ge3tNSU5GSUxFU319IERhdGVpZW4gaG9jaGdlbGFkZW4gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhEQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIG11c3Mgw6RsdGVyIG9kZXIgZ2xlaWNoIHt7TUFYREFURX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWFRJTUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZGFyZiBuaWNodCBncsO2c3NlciBhbHMge3tNQVhWQUxVRX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBtdXNzIG5ldWVyIG9kZXIgZ2xlaWNoIHt7TUlOREFURX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOVEVYVExFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBlcmZvcmRlcnQgbWluLiB7e01JTlRFWFRMRU5HVEh9fSBaZWljaGVuLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTlRJTUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdXZXJ0IGRhcmYgbmljaHQga2xlaW5lciBhbHMge3tNSU5WQUxVRX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdFcyBtw7xzc2VuIGFsbGUgU3ByYWNoZW4gZXJmYXNzdCBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRXMgbXVzcyBtaW4uIDEgU3ByYWNoZSBlcmZhc3N0IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnV2VydCBlbnRzcHJpY2h0IG5pY2h0IGRlciBGb3JtYXQgVm9ybGFnZS4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBpc3QgZXJmb3JkZXJsaWNoLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3Qga2VpbiBnw7xsdGlnZXMgRGF0dW0uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGlzdCBrZWluZSBFLU1haWwgQWRyZXNzZSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRklMRVNNSU4oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIG1pbi4ge3tNSU5GSUxFU319IERhdGVpZW4gaG9jaGdlbGFkZW4gaGFiZW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhEQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhEQVRFfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWFRJTUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ1dlcnQgZGFyZiBuaWNodCBncsO2c3NlciBhbHMge3tNQVhWQUxVRX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5EQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTkRBVEV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVEVYVExFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGVyZm9yZGVydCBtaW4uIHt7TUlOVEVYVExFTkdUSH19IFplaWNoZW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTlRJTUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBkYXJmIG5pY2h0IGtsZWluZXIgYWxzIHt7TUlOVkFMVUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBhbGxlIFNwcmFjaGVuIGVyZmFzc3QgaGFiZW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBtdXNzIG1pbi4gMSBTcHJhY2hlIGVyZmFzc3QgaGFiZW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9QQVRURVJOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZW50c3ByaWNodCBuaWNodCBkZXIgRm9ybWF0IFZvcmxhZ2UuJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGlzdCBlcmZvcmRlcmxpY2guJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGllIE1ldGhvZGUgZXJnaWJ0IGRpZSBzZWxlY3RlIFNwcmFjaGUgKHN0cmluZykgIGFuaGFuZCB2b24gS2V5IHVuZCBQYXJhbXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIEdldFN0cmluZyhrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICAgICAgbGV0IGxhbmd1YWdlOiBzdHJpbmcgPSB0aGlzLkdldExhbmd1YWdlKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YS5oYXMobGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICBsYW5ndWFnZSA9IHRoaXMuR2V0RmFsbGJhY2tMYW5ndWFnZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFJldHVybiBLZXkgaWYgbm8gTGFuZ3VhZ2UgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YS5oYXMobGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChrZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmdldChsYW5ndWFnZSkuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5kYXRhLmdldChsYW5ndWFnZSkuZ2V0KGtleSk7XHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVyOiBJbnRlcnBvbGF0aW9uID0gbmV3IEludGVycG9sYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZvcm1hdHRlci5pbnRlcnBvbGF0ZVN0cmluZyhyZXNvdXJjZSwgcGFyYW1zKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChrZXkpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGllIEZ1bmt0aW9uIHNldHp0IGRpZSBkZWZhdWx0IFNwcmFjaGUgYXVmIERFLCBmYWxscyBkaWUgU3ByYWNoLVNldHp1bmcgbmljaHQgbcO2Z2xpY2ggaXN0LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIEdldEZhbGxiYWNrTGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJ2RlJztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERpZSBGdW5rdGlvbiBlcmdpYnQgZGllIGF1c2dld8OkaGx0ZSBTcHJhY2hlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIEdldExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2U6IHN0cmluZyA9IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuXHJcbiAgICAgICAgaWYgKGxhbmd1YWdlLmluZGV4T2YoJy0nKSA+PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBsYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBsYW5ndWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXHJcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMmR2NzRnd21yIiwiYWN0dWFsQ292ZXJhZ2UiLCJJbnRlcnBvbGF0aW9uIiwiU0FDVkFMSURBVElPTktFWV9TRVJWSUNFIiwiSW5qZWN0IiwiSW5qZWN0YWJsZSIsIkluamVjdGlvblRva2VuIiwiT2JzZXJ2YWJsZSIsIlNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFIiwicyIsIlNhY0Fic3RyYWN0TG9jYWxpc2F0aW9uU2VydmljZSIsImRlcHMiLCJ0YXJnZXQiLCJpMCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwicHJvdmlkZWRJbiIsImRlY29yYXRvcnMiLCJTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSIsImNvbnN0cnVjdG9yIiwidmFsaWRhdGlvbktleVNlcnZpY2UiLCJmIiwiZGF0YSIsIk1hcCIsInNldCIsImdldCIsIlZhbGlkYXRpb25FcnJvclJlcXVpcmVkIiwiVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlSZXF1aXJlZCIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCIsIlZhbGlkYXRpb25FcnJvck1pblZhbHVlIiwiVkFMSURBVElPTl9FUlJPUl9NSU5WQUxVRSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5WYWx1ZSIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5WQUxVRSIsIlZhbGlkYXRpb25FcnJvclBhdHRlcm4iLCJWQUxJREFUSU9OX0VSUk9SX1BBVFRFUk4iLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5UGF0dGVybiIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9QQVRURVJOIiwiVmFsaWRhdGlvbkVycm9yTWF4VmFsdWUiLCJWQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heFZhbHVlIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFZBTFVFIiwiVmFsaWRhdGlvbkVycm9yRW1haWwiLCJWQUxJREFUSU9OX0VSUk9SX0VNQUlMIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeUVtYWlsIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0VNQUlMIiwiVmFsaWRhdGlvbkVycm9yTWluVGV4dExlbmd0aCIsIlZBTElEQVRJT05fRVJST1JfTUlOVEVYVExFTkdUSCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5UZXh0TGVuZ3RoIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRFWFRMRU5HVEgiLCJWYWxpZGF0aW9uRXJyb3JNaW5EYXRlIiwiVkFMSURBVElPTl9FUlJPUl9NSU5EQVRFIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pbkRhdGUiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOREFURSIsIlZhbGlkYXRpb25FcnJvck1heERhdGUiLCJWQUxJREFUSU9OX0VSUk9SX01BWERBVEUiLCJWYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4RGF0ZSIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhEQVRFIiwiVmFsaWRhdGlvbkVycm9yTWluVGltZSIsIlZBTElEQVRJT05fRVJST1JfTUlOVElNRSIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5UaW1lIiwiVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRJTUUiLCJWYWxpZGF0aW9uRXJyb3JNYXhUaW1lIiwiVkFMSURBVElPTl9FUlJPUl9NQVhUSU1FIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1heFRpbWUiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVElNRSIsIlZhbGlkYXRpb25FcnJvckRhdGV0aW1lRm9ybWF0IiwiVkFMSURBVElPTl9FUlJPUl9EQVRFVElNRUZPUk1BVCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlEYXRldGltZUZvcm1hdCIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9EQVRFVElNRUZPUk1BVCIsIlZhbGlkYXRpb25FcnJvckZpbGVzTWluIiwiVkFMSURBVElPTl9FUlJPUl9GSUxFU01JTiIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlGaWxlc01pbiIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9GSUxFU01JTiIsIlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSIsIlZBTElEQVRJT05fRVJST1JfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZIiwiVmFsaWRhdGlvbkVycm9yU3VtbWFyeU11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSIsIlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkiLCJWYWxpZGF0aW9uRXJyb3JNdWx0aWxhbmd1YWdlUmVxdWlyZWQiLCJWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCIsIlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWQiLCJWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEIiwiUGFnaW5nUGFnZU9mIiwiUEFHSU5HX1BBR0VPRlRFWFQiLCJQYWdpbmdFbnRyaWVzIiwiUEFHSU5HX1BBR0VFTlRSSUVTVEVYVCIsIlVwbG9hZE5vRmlsZXNTZWxlY3RlZCIsIlVQTE9BRF9OT19GSUxFX1NFTEVDVEVEIiwiVXBsb2FkQnV0dG9uVXBsb2FkIiwiVVBMT0FEX0JVVFRPTl9VUExPQUQiLCJVcGxvYWRCdXR0b25Ccm93c2UiLCJVUExPQURfQlVUVE9OX0JST1dTRSIsIlRpbnlNY2VGaWxlc2VsZWN0T2siLCJUSU5ZTUNFX0ZJTEVTRUxFQ1RfT0siLCJUaW55TWNlRmlsZXNlbGVjdENhbmNlbCIsIlRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwiLCJUaW55TWNlRmlsZXNlbGVjdERpYWxvZ3RpdGxlIiwiVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFIiwiQ29uZmlybURlZmF1bHRCdXR0b25ZZXMiLCJDT05GSVJNX0JVVFRPTl9ZRVMiLCJDb25maXJtRGVmYXVsdEJ1dHRvbk5vIiwiQ09ORklSTV9CVVRUT05fTk8iLCJGaWxlYnJvd3NlckdyaWROb0ZpbGVzIiwiRklMRUJST1dTRVJfTk9fRklMRVMiLCJGaWxlYnJvd3NlckdyaWRGaWxlbmFtZSIsIkZJTEVCUk9XU0VSX0dSSURfRklMRSIsIkZpbGVicm93c2VyR3JpZFNpemUiLCJGSUxFQlJPV1NFUl9HUklEX1NJWkUiLCJGaWxlYnJvd3NlckJ1dHRvblVwbG9hZCIsIkZJTEVCUk9XU0VSX1VQTE9BRCIsIkZpbGVicm93c2VyQnV0dG9uTmV3Rm9sZGVyIiwiRklMRUJST1dTRVJfTkVXRk9MREVSIiwiRmlsZWJyb3dzZXJCdXR0b25SZWZyZXNoIiwiRklMRUJST1dTRVJfUkVGUkVTSCIsIkZpbGVicm93c2VyQnV0dG9uRGVsZXRlIiwiRklMRUJST1dTRVJfREVMRVRFIiwiRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZvbGRlciIsIkZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSIiwiRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZpbGUiLCJGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZJTEUiLCJHZXRTdHJpbmciLCJrZXkiLCJwYXJhbXMiLCJvYnNlcnZlciIsImxhbmd1YWdlIiwiR2V0TGFuZ3VhZ2UiLCJoYXMiLCJiIiwiR2V0RmFsbGJhY2tMYW5ndWFnZSIsIm5leHQiLCJjb21wbGV0ZSIsInJlc291cmNlIiwidW5kZWZpbmVkIiwiZm9ybWF0dGVyIiwiaW50ZXJwb2xhdGVTdHJpbmciLCJuYXZpZ2F0b3IiLCJpbmRleE9mIiwic3BsaXQiLCJ0b2tlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL3NlcnZpY2VzL3NhYy1sb2NhbGlzYXRpb24uc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNWYWxpZGF0aW9uS2V5U2VydmljZSc7XHJcbmltcG9ydCB7IEludGVycG9sYXRpb24gfSBmcm9tICcuLi91dGlsaXRpZXMvaW50ZXJwb2xhdGlvbic7XHJcbmltcG9ydCB7IFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSB9IGZyb20gJy4vc2FjLXZhbGlkYXRpb25rZXkuc2VydmljZSc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcclxuXHJcbi8qKlxyXG4gKiBpbmplY3Rpb24gdG9rZW4gZm9yIGxvY2FsaXNhdGlvbiBzZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2FjQWJzdHJhY3RMb2NhbGlzYXRpb25TZXJ2aWNlPignU2FjTG9jYWxpc2F0aW9uU2VydmljZScpO1xyXG5cclxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcclxuXHJcbi8vICNyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xyXG5cclxuLyoqXHJcbiAqIGFic3RyYWN0IGNsYXNzIGZvciBsb2NhbGlzYXRpb24gaW4gY29tcG9uZW50c1xyXG4gKiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RMb2NhbGlzYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2Uge1xyXG4gICAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgQ09ORklSTV9CVVRUT05fTk8oKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IENPTkZJUk1fQlVUVE9OX1lFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfREVMRVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9HUklEX0ZJTEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IEZJTEVCUk9XU0VSX0dSSURfU0laRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfTkVXRk9MREVSKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBGSUxFQlJPV1NFUl9OT19GSUxFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfUkVGUkVTSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgRklMRUJST1dTRVJfVVBMT0FEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBQQUdJTkdfUEFHRUVOVFJJRVNURVhUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBQQUdJTkdfUEFHRU9GVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0NBTkNFTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfT0soKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFVQTE9BRF9CVVRUT05fQlJPV1NFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBVUExPQURfQlVUVE9OX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfREFURVRJTUVGT1JNQVQoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfRklMRVNNSU4oKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhUSU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkRBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfTUlOVEVYVExFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9GSUxFU01JTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWERBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhUSU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVkFMVUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5EQVRFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVEVYVExFTkdUSCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5WQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFREFOWSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1BBVFRFUk4oKTogTWFwPHN0cmluZywgc3RyaW5nPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaWUgTWV0aG9kZSDDvGJlcnNldHp0IGRlbiBlaW5nZWdlYmVuZW4gV29ydC9CZWdyaWZmLiBWZXJsYW5ndCBrZXkgdW5kIG9wdGlvbmVsbCBwYXJhbXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IEdldFN0cmluZyhrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG5cclxuLyoqXHJcbiAqIGRlZmF1bHQgbG9jYWxpc2F0aW9uIHNlcnZpY2VcclxuICogKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlIGV4dGVuZHMgU2FjQWJzdHJhY3RMb2NhbGlzYXRpb25TZXJ2aWNlIHtcclxuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGFuZ3VhZ2UgUmVzb3VyY2VzIGbDvHIgQ29udHJvbHMgTGlicmFyeVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF0YTogTWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4gPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgc3RyaW5nPj4oKTtcclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogS29uc3RydWt0b3JcclxuICAgICAqICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSlcclxuICAgICAgICBwcml2YXRlIHZhbGlkYXRpb25LZXlTZXJ2aWNlOiBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgICAgIC8vIFNldCBMYW5ndWFnZXNcclxuICAgICAgICB0aGlzLmRhdGEuc2V0KCdkZScsIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xyXG5cclxuICAgICAgICAvLyBWYWxpZGF0aW9uXHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yUmVxdWlyZWQsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9SRVFVSVJFRC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVJlcXVpcmVkLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9SRVFVSVJFRC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pblZhbHVlLCB0aGlzLlZBTElEQVRJT05fRVJST1JfTUlOVkFMVUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNaW5WYWx1ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVkFMVUUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JQYXR0ZXJuLCB0aGlzLlZBTElEQVRJT05fRVJST1JfUEFUVEVSTi5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeVBhdHRlcm4sIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX1BBVFRFUk4uZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JNYXhWYWx1ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01BWFZBTFVFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4VmFsdWUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFZBTFVFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRW1haWwsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9FTUFJTC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeUVtYWlsLCB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9FTUFJTC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yTWluVGV4dExlbmd0aCwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX01JTlRFWFRMRU5HVEguZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KFxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yU3VtbWFyeU1pblRleHRMZW5ndGgsXHJcbiAgICAgICAgICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NSU5URVhUTEVOR1RILmdldCgnZGUnKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pbkRhdGUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NSU5EQVRFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluRGF0ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOREFURS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heERhdGUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NQVhEQVRFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4RGF0ZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1pblRpbWUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NSU5USU1FLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWluVGltZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVElNRS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck1heFRpbWUsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NQVhUSU1FLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5TWF4VGltZSwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYVElNRS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuVmFsaWRhdGlvbkVycm9yRGF0ZXRpbWVGb3JtYXQsIHRoaXMuVkFMSURBVElPTl9FUlJPUl9EQVRFVElNRUZPUk1BVC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQoXHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RGF0ZXRpbWVGb3JtYXQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9EQVRFVElNRUZPUk1BVC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JGaWxlc01pbiwgdGhpcy5WQUxJREFUSU9OX0VSUk9SX0ZJTEVTTUlOLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5WYWxpZGF0aW9uRXJyb3JTdW1tYXJ5RmlsZXNNaW4sIHRoaXMuVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZEFueSxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWRBbnksXHJcbiAgICAgICAgICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvck11bHRpbGFuZ3VhZ2VSZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIHRoaXMuVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRUQuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIC5nZXQoJ2RlJylcclxuICAgICAgICAgICAgLnNldChcclxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb25LZXlTZXJ2aWNlLlZhbGlkYXRpb25FcnJvclN1bW1hcnlNdWx0aWxhbmd1YWdlUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLlZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NVUxUSUxBTkdVQUdFUkVRVUlSRUQuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIEdyaWQgQ29tcG9uZW50XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nUGFnZU9mLCB0aGlzLlBBR0lOR19QQUdFT0ZURVhULmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nRW50cmllcywgdGhpcy5QQUdJTkdfUEFHRUVOVFJJRVNURVhULmdldCgnZGUnKSk7XHJcblxyXG4gICAgICAgIC8vIFVwbG9hZCBDb21wb25lbnRcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWROb0ZpbGVzU2VsZWN0ZWQsIHRoaXMuVVBMT0FEX05PX0ZJTEVfU0VMRUNURUQuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWRCdXR0b25VcGxvYWQsIHRoaXMuVVBMT0FEX0JVVFRPTl9VUExPQUQuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5VcGxvYWRCdXR0b25Ccm93c2UsIHRoaXMuVVBMT0FEX0JVVFRPTl9CUk9XU0UuZ2V0KCdkZScpKTtcclxuXHJcbiAgICAgICAgLy8gVGlueU1DRSBDb21wb25lbnRcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5UaW55TWNlRmlsZXNlbGVjdE9rLCB0aGlzLlRJTllNQ0VfRklMRVNFTEVDVF9PSy5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0Q2FuY2VsLCB0aGlzLlRJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGFcclxuICAgICAgICAgICAgLmdldCgnZGUnKVxyXG4gICAgICAgICAgICAuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0RGlhbG9ndGl0bGUsIHRoaXMuVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFLmdldCgnZGUnKSk7XHJcblxyXG4gICAgICAgIC8vIENvbmZpcm0gRGlhbG9nIENvbXBvbmVudFxyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkNvbmZpcm1EZWZhdWx0QnV0dG9uWWVzLCB0aGlzLkNPTkZJUk1fQlVUVE9OX1lFUy5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkNvbmZpcm1EZWZhdWx0QnV0dG9uTm8sIHRoaXMuQ09ORklSTV9CVVRUT05fTk8uZ2V0KCdkZScpKTtcclxuXHJcbiAgICAgICAgLy8gQnJvd3NlciBDb21wb25lbnRcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWROb0ZpbGVzLCB0aGlzLkZJTEVCUk9XU0VSX05PX0ZJTEVTLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkRmlsZW5hbWUsIHRoaXMuRklMRUJST1dTRVJfR1JJRF9GSUxFLmdldCgnZGUnKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhLmdldCgnZGUnKS5zZXQodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkU2l6ZSwgdGhpcy5GSUxFQlJPV1NFUl9HUklEX1NJWkUuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvblVwbG9hZCwgdGhpcy5GSUxFQlJPV1NFUl9VUExPQUQuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvbk5ld0ZvbGRlciwgdGhpcy5GSUxFQlJPV1NFUl9ORVdGT0xERVIuZ2V0KCdkZScpKTtcclxuICAgICAgICB0aGlzLmRhdGEuZ2V0KCdkZScpLnNldCh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvblJlZnJlc2gsIHRoaXMuRklMRUJST1dTRVJfUkVGUkVTSC5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YS5nZXQoJ2RlJykuc2V0KHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlLCB0aGlzLkZJTEVCUk9XU0VSX0RFTEVURS5nZXQoJ2RlJykpO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGb2xkZXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLkZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSLmdldCgnZGUnKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZGF0YVxyXG4gICAgICAgICAgICAuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgIC5zZXQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGaWxlLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5GSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZJTEUuZ2V0KCdkZScpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIEVOXHJcbiAgICAgICAgLy8gdGhpcy5kYXRhLnNldCgnZW4nLCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IENPTkZJUk1fQlVUVE9OX05PKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdOZWluJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IENPTkZJUk1fQlVUVE9OX1lFUygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnSmEnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdTb2xsIGRpZSBEYXRlaSBnZWzDtnNjaHQgd2VyZGVuPyddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnU29sbCBkZXIgT3JkbmVyIGdlbMO2c2NodCB3ZXJkZW4/J11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX0RFTEVURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTMO2c2NoZW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfR1JJRF9GSUxFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdEYXRlaW5hbWUnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgRklMRUJST1dTRVJfR1JJRF9TSVpFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdHcsO2c3NlJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX05FV0ZPTERFUigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTmV1ZXIgT3JkbmVyJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX05PX0ZJTEVTKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdLZWluZSBEYXRlaWVuIHZvcmhhbmRlbiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBGSUxFQlJPV1NFUl9SRUZSRVNIKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdBa3R1YWxpc2llcmVuJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IEZJTEVCUk9XU0VSX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnTGVnZW4gU2llIERhdGVpZW4gaGllciBhYiB1bSBTaWUgaG9jaHp1bGFkZW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgUEFHSU5HX1BBR0VFTlRSSUVTVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRWludHLDpGdlIHBybyBTZWl0ZSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBQQUdJTkdfUEFHRU9GVEVYVCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnU2VpdGUge3tDVVJSRU5UUEFHRX19IHZvbiB7e1RPVEFMUEFHRVN9fSddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdBYmJyZWNoZW4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVElOWU1DRV9GSUxFU0VMRUNUX0RJQUxPR1RJVExFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdEYXRlaSBhdXN3w6RobGVuJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFRJTllNQ0VfRklMRVNFTEVDVF9PSygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnT0snXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVVBMT0FEX0JVVFRPTl9CUk9XU0UoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0Jyb3dzZS4uLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBVUExPQURfQlVUVE9OX1VQTE9BRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnVXBsb2FkJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFVQTE9BRF9OT19GSUxFX1NFTEVDVEVEKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdLZWluZSBEYXRlaSBhdXNnZXfDpGhsdCddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIGlzdCBrZWluIGfDvGx0aWdlcyBEYXR1bS4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9FTUFJTCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBpc3Qga2VpbmUgRS1NYWlsIEFkcmVzc2UnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9GSUxFU01JTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRXMgbcO8c3NlbiBtaW4uIHt7TUlORklMRVN9fSBEYXRlaWVuIGhvY2hnZWxhZGVuIHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBtdXNzIMOkbHRlciBvZGVyIGdsZWljaCB7e01BWERBVEV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01BWFRJTUUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhUSU1FfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NQVhWQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGRhcmYgbmljaHQgZ3LDtnNzZXIgYWxzIHt7TUFYVkFMVUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTkRBVEUoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgbXVzcyBuZXVlciBvZGVyIGdsZWljaCB7e01JTkRBVEV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01JTlRFWFRMRU5HVEgoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgZXJmb3JkZXJ0IG1pbi4ge3tNSU5URVhUTEVOR1RIfX0gWmVpY2hlbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5USU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5USU1FfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NSU5WQUxVRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnV2VydCBkYXJmIG5pY2h0IGtsZWluZXIgYWxzIHt7TUlOVkFMVUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRXMgbcO8c3NlbiBhbGxlIFNwcmFjaGVuIGVyZmFzc3Qgc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9NVUxUSUxBTkdVQUdFUkVRVUlSRURBTlkoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0VzIG11c3MgbWluLiAxIFNwcmFjaGUgZXJmYXNzdCBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1BBVFRFUk4oKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ1dlcnQgZW50c3ByaWNodCBuaWNodCBkZXIgRm9ybWF0IFZvcmxhZ2UuJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfUkVRVUlSRUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgaXN0IGVyZm9yZGVybGljaC4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0RBVEVUSU1FRk9STUFUKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgaXN0IGtlaW4gZ8O8bHRpZ2VzIERhdHVtLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfRU1BSUwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3Qga2VpbmUgRS1NYWlsIEFkcmVzc2UnXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX0ZJTEVTTUlOKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBtaW4uIHt7TUlORklMRVN9fSBEYXRlaWVuIGhvY2hnZWxhZGVuIGhhYmVuLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUFYREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3Mgw6RsdGVyIG9kZXIgZ2xlaWNoIHt7TUFYREFURX19IHNlaW4uJ11dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IFZBTElEQVRJT05fRVJST1JfU1VNTUFSWV9NQVhUSU1FKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyDDpGx0ZXIgb2RlciBnbGVpY2gge3tNQVhUSU1FfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01BWFZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdXZXJ0IGRhcmYgbmljaHQgZ3LDtnNzZXIgYWxzIHt7TUFYVkFMVUV9fSBzZWluLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOREFURSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5EQVRFfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlRFWFRMRU5HVEgoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBlcmZvcmRlcnQgbWluLiB7e01JTlRFWFRMRU5HVEh9fSBaZWljaGVuLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTUlOVElNRSgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgbmV1ZXIgb2RlciBnbGVpY2gge3tNSU5USU1FfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01JTlZBTFVFKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgZGFyZiBuaWNodCBrbGVpbmVyIGFscyB7e01JTlZBTFVFfX0gc2Vpbi4nXV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgVkFMSURBVElPTl9FUlJPUl9TVU1NQVJZX01VTFRJTEFOR1VBR0VSRVFVSVJFRCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIG11c3MgYWxsZSBTcHJhY2hlbiBlcmZhc3N0IGhhYmVuLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfTVVMVElMQU5HVUFHRVJFUVVJUkVEQU5ZKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbWydkZScsICdGZWxkIFwie3tGSUVMRH19XCIgbXVzcyBtaW4uIDEgU3ByYWNoZSBlcmZhc3N0IGhhYmVuLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUEFUVEVSTigpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1snZGUnLCAnRmVsZCBcInt7RklFTER9fVwiIGVudHNwcmljaHQgbmljaHQgZGVyIEZvcm1hdCBWb3JsYWdlLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBWQUxJREFUSU9OX0VSUk9SX1NVTU1BUllfUkVRVUlSRUQoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFtbJ2RlJywgJ0ZlbGQgXCJ7e0ZJRUxEfX1cIiBpc3QgZXJmb3JkZXJsaWNoLiddXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpZSBNZXRob2RlIGVyZ2lidCBkaWUgc2VsZWN0ZSBTcHJhY2hlIChzdHJpbmcpICBhbmhhbmQgdm9uIEtleSB1bmQgUGFyYW1zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBHZXRTdHJpbmcoa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYW5ndWFnZTogc3RyaW5nID0gdGhpcy5HZXRMYW5ndWFnZSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuaGFzKGxhbmd1YWdlKSkge1xyXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2UgPSB0aGlzLkdldEZhbGxiYWNrTGFuZ3VhZ2UoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBSZXR1cm4gS2V5IGlmIG5vIExhbmd1YWdlIGV4aXN0c1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuaGFzKGxhbmd1YWdlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoa2V5KTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5nZXQobGFuZ3VhZ2UpLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuZGF0YS5nZXQobGFuZ3VhZ2UpLmdldChrZXkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtcyAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcyAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlcjogSW50ZXJwb2xhdGlvbiA9IG5ldyBJbnRlcnBvbGF0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmb3JtYXR0ZXIuaW50ZXJwb2xhdGVTdHJpbmcocmVzb3VyY2UsIHBhcmFtcykpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc291cmNlKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoa2V5KTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gICAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpZSBGdW5rdGlvbiBzZXR6dCBkaWUgZGVmYXVsdCBTcHJhY2hlIGF1ZiBERSwgZmFsbHMgZGllIFNwcmFjaC1TZXR6dW5nIG5pY2h0IG3DtmdsaWNoIGlzdC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBHZXRGYWxsYmFja0xhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICdkZSc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaWUgRnVua3Rpb24gZXJnaWJ0IGRpZSBhdXNnZXfDpGhsdGUgU3ByYWNoZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBHZXRMYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGxhbmd1YWdlOiBzdHJpbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcblxyXG4gICAgICAgIGlmIChsYW5ndWFnZS5pbmRleE9mKCctJykgPj0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuXHJcbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xy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